HiiHahWIKI - making some notes for... -
javaでXpathを使う(1)
をテンプレートにして作成
開始行:
*javaでXpathを使う(1) [#d53cabbe]
XMLからautherが「Neal Stephenson」の本のタイトルを取って...
ソース
package example.ex3;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class XMLSample1 {
private static final String FILENAME="TestFileName.x...
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
// どの Factory インスタンスを使用するのかを表示
System.out.println(System.getProperty(
"javax.xml.parsers.DocumentBuilderFactory"));
try {
// DocumentBuilderFactory インスタンスを取得
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true); // never ...
// DocumentBuilder を取得
DocumentBuilder builder =
factory.newDocumentBuilder();
// DocumentBuilder を用いて Document オブ...
Document doc =
builder.parse(new File(FILENAME));
XPathFactory xPathFactory = XPathFactory.n...
XPath xpath = xPathFactory.newXPath();
XPathExpression expr = xpath.compile("//bo...
Object result = expr.evaluate(doc, XPathCo...
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++...
System.out.println(nodes.item(i).getNo...
}
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (XPathExpressionException e) {
e.printStackTrace();
}
}
}
サンプルXML
<?xml version="1.0" encoding="UTF-8"?>
<inventory>
<book year="2000">
<title>Snow Crash</title>
<author>Neal Stephenson</author>
<publisher>Spectra</publisher>
<isbn>0553380958</isbn>
<price>14.95</price>
</book>
<book year="2005">
<title>Burning Tower</title>
<author>Larry Niven</author>
<author>Jerry Pournelle</author>
<publisher>Pocket</publisher>
<isbn>0743416910</isbn>
<price>5.99</price>
</book>
<book year="1995">
<title>Zodiac</title>
<author>Neal Stephenson</author>
<publisher>Spectra</publisher>
<isbn>0553573862</isbn>
<price>7.50</price>
</book>
</inventory>
出力
null
Snow Crash
Zodiac
終了行:
*javaでXpathを使う(1) [#d53cabbe]
XMLからautherが「Neal Stephenson」の本のタイトルを取って...
ソース
package example.ex3;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class XMLSample1 {
private static final String FILENAME="TestFileName.x...
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
// どの Factory インスタンスを使用するのかを表示
System.out.println(System.getProperty(
"javax.xml.parsers.DocumentBuilderFactory"));
try {
// DocumentBuilderFactory インスタンスを取得
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true); // never ...
// DocumentBuilder を取得
DocumentBuilder builder =
factory.newDocumentBuilder();
// DocumentBuilder を用いて Document オブ...
Document doc =
builder.parse(new File(FILENAME));
XPathFactory xPathFactory = XPathFactory.n...
XPath xpath = xPathFactory.newXPath();
XPathExpression expr = xpath.compile("//bo...
Object result = expr.evaluate(doc, XPathCo...
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++...
System.out.println(nodes.item(i).getNo...
}
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (XPathExpressionException e) {
e.printStackTrace();
}
}
}
サンプルXML
<?xml version="1.0" encoding="UTF-8"?>
<inventory>
<book year="2000">
<title>Snow Crash</title>
<author>Neal Stephenson</author>
<publisher>Spectra</publisher>
<isbn>0553380958</isbn>
<price>14.95</price>
</book>
<book year="2005">
<title>Burning Tower</title>
<author>Larry Niven</author>
<author>Jerry Pournelle</author>
<publisher>Pocket</publisher>
<isbn>0743416910</isbn>
<price>5.99</price>
</book>
<book year="1995">
<title>Zodiac</title>
<author>Neal Stephenson</author>
<publisher>Spectra</publisher>
<isbn>0553573862</isbn>
<price>7.50</price>
</book>
</inventory>
出力
null
Snow Crash
Zodiac
ページ名: