Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
60
Task/XML-XPath/Java/xml-xpath.java
Normal file
60
Task/XML-XPath/Java/xml-xpath.java
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
import java.io.StringReader;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.xpath.XPath;
|
||||
import javax.xml.xpath.XPathConstants;
|
||||
import javax.xml.xpath.XPathFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.xml.sax.InputSource;
|
||||
|
||||
public class XMLParser {
|
||||
final static String xmlStr =
|
||||
"<inventory title=\"OmniCorp Store #45x10^3\">"
|
||||
+ " <section name=\"health\">"
|
||||
+ " <item upc=\"123456789\" stock=\"12\">"
|
||||
+ " <name>Invisibility Cream</name>"
|
||||
+ " <price>14.50</price>"
|
||||
+ " <description>Makes you invisible</description>"
|
||||
+ " </item>"
|
||||
+ " <item upc=\"445322344\" stock=\"18\">"
|
||||
+ " <name>Levitation Salve</name>"
|
||||
+ " <price>23.99</price>"
|
||||
+ " <description>Levitate yourself for up to 3 hours per application</description>"
|
||||
+ " </item>"
|
||||
+ " </section>"
|
||||
+ " <section name=\"food\">"
|
||||
+ " <item upc=\"485672034\" stock=\"653\">"
|
||||
+ " <name>Blork and Freen Instameal</name>"
|
||||
+ " <price>4.95</price>"
|
||||
+ " <description>A tasty meal in a tablet; just add water</description>"
|
||||
+ " </item>"
|
||||
+ " <item upc=\"132957764\" stock=\"44\">"
|
||||
+ " <name>Grob winglets</name>"
|
||||
+ " <price>3.56</price>"
|
||||
+ " <description>Tender winglets of Grob. Just add priwater</description>"
|
||||
+ " </item>"
|
||||
+ " </section>"
|
||||
+ "</inventory>";
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
Document doc = DocumentBuilderFactory.newInstance()
|
||||
.newDocumentBuilder()
|
||||
.parse(new InputSource(new StringReader(xmlStr)));
|
||||
XPath xpath = XPathFactory.newInstance().newXPath();
|
||||
// 1
|
||||
System.out.println(((Node) xpath.evaluate(
|
||||
"/inventory/section/item[1]", doc, XPathConstants.NODE))
|
||||
.getAttributes().getNamedItem("upc"));
|
||||
// 2, 3
|
||||
NodeList nodes = (NodeList) xpath.evaluate(
|
||||
"/inventory/section/item/price", doc,
|
||||
XPathConstants.NODESET);
|
||||
for (int i = 0; i < nodes.getLength(); i++)
|
||||
System.out.println(nodes.item(i).getTextContent());
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error ocurred while parsing XML.");
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue