如何使用dom parser java解析xml中的同名标签?

如何使用dom parser java在xml中解析相同的名称标签?

我有以下要使用Java中的dom解析器解析的xml文件。

<?xml version="1.0"?>

<GameWorld>

<player>

<playerID>1</playerID>

<inventory>

<item>cards</item>

<item>notes</item>

<item>dice</item>

</inventory>

<position>50 50 10 60</position>

<room>offices</room>

</player>

<player>

<playerID>2</playerID>

<inventory>

<item>notes</item>

<item>dice</item>

<item>cards</item>

</inventory>

<position>10 10 10</position>

<room>security room</room>

</player>

</GameWorld>

回答:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

DocumentBuilder db = dbf.newDocumentBuilder();

Document doc = db.parse(f);

Element root = doc.getDocumentElement();

NodeList nodeList = doc.getElementsByTagName("player");

for (int i = 0; i < nodeList.getLength(); i++) {

Node node = nodeList.item(i);

// do your stuff

}

但我建议使用XPath

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.parse(<uri_as_string>);

XPathFactory xPathfactory = XPathFactory.newInstance();

XPath xpath = xPathfactory.newXPath();

XPathExpression expr = xpath.compile("/GameWorld/player");

NodeList nl = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);

以上是 如何使用dom parser java解析xml中的同名标签? 的全部内容, 来源链接: utcz.com/qa/400829.html

回到顶部