gpt4 book ai didi

java - Java 中的 XML 解析和存储信息

转载 作者:行者123 更新时间:2023-11-29 03:53:07 26 4
gpt4 key购买 nike

我正在制作一个简单的绘图程序,里面有幻灯片,我有一个具有以下架构的 XML 文件:

对于每张幻灯片,我存储一条线或多条线段,例如:

http://orhancanceylan.com/stack/file.xml

我正在使用这段代码制作“幻灯片”:

NodeList nodeLst = doc.getElementsByTagName("Slide");
System.out.println(nodeLst.getLength());

并通过获取节点进行迭代:

Node fstNode = nodeLst.item(i);

但在我的迭代中,我无法弄清楚我应该如何只为第一个节点(第一张幻灯片)取线段或线。

我应该如何正确解析这些 XML?

谢谢。

最佳答案

也许您可以考虑使用 XPath 来完成查找 XML 节点的脏活:

http://download.oracle.com/javase/6/docs/api/javax/xml/xpath/package-summary.html

要仅获取第一张幻灯片的片段,XPath 可以是://Slide[id='0']/segment

例如,可能是这样的:

XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("//Slide[id='0']/segment");

然后使用给定的 XPath 表达式评估您的文档,并对结果进行类型转换:

Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;

那只会给你第一张幻灯片的 <segment> XML 中的节点。您或许可以从该答案推断出如何使用 XPath 获取更多 XML 节点。参见 http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html

关于java - Java 中的 XML 解析和存储信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7797382/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com