从xml中,我需要获得每个节点的名称和面积。
我知道示例xpath,比如,
XMLDependency/@name | XMLDependency/@area,它给出逗号分隔的值,
输出:
Name1、JKL、Name2、MNO
XML:
<DocBuild name="ABCD">
<XMLDependency name="Name1" product="Product ABC" area="JKL" />
<XMLDependency name="Name2" product="Product DEF" area="MNO" />
<XMLDependency name="Name3" product="Product GHI" area="PQR" />
</DocBuild>
怀疑:
请帮帮忙!
[编辑]:
这是我开始使用的Java程序。
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nodeList = (NodeList) xPath.compile("//XMLDependency/@name|//XMLDependency/@area")
.evaluate(element, XPathConstants.NODESET);
List<String> nodes = new ArrayList<String>();
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
nodes.add(node.getNodeValue());
}
System.out.println(nodes);
通过使用节点类型和节点值进行处理,可以解决第一个问题。
您要做的事情不能单独使用XPath来完成。您需要为每个XMLDependency
迭代一次,并从那里开始组合值:
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nodeList = (NodeList) xPath.compile("//XMLDependency")
.evaluate(element, XPathConstants.NODESET);
List<String> nodes = new ArrayList<String>();
for (int i = 0; i < nodeList.getLength(); i++) {
NamedNodeMap att = nodeList.item(i).getAttributes();
Node name = att.getNamedItem("name");
Node area = att.getNamedItem("area");
nodes.add(name.getNodeValue() + ":" +
(area != null ? area.getNodeValue() : ""));
}
System.out.println(nodes);
问题内容: 我正在使用Selenium IDE进行一些Web应用程序测试,并希望引入一些随机性以扩展我们的测试。我当前正在使用Selenium ,在其中给它一个XPath表达式,它存储与之匹配的第一个元素(排序)。但是我不想存储第一个匹配项,我希望它随机选择一个子节点。 例如 选择此表的所有tr子级。 选择第一个tr(假设现在嵌套表) 选择第三个tr,依此类推。 是否有某种方法(完全在xpath中
问题内容: 我有一个xform文档 我想使用xpath和jdom从xform中选择数据元素 似乎工作正常,并选择title元素,但 不选择模型元素。我想这与名称空间有关。 问题答案: 一些东西。您 确实 应该使用JDOM 2.0.x …(最新版本2.0.5)。2.0.x版本中的XPath API远远优于JDOM 1.x中的XPath API:请参阅https://github.com/hunter
这是我的问题的一个细节。我需要使用XPath选择以下节点: 应该如何制定xpath查询来查找属性的值等于属性的值的所有节点? 当然完全容易--但我只是无法到达那里,在网上找不到任何合适的东西。
我是Xpath的新手。 假设我有一个xml目录可以将商品导入电子商店: 目录的第一部分是商品类别列表,第二部分是商品列表。每种商品都有一个<代码> 从上面的代码中,我需要得到这样一个好的描述:类别:夹克;标签:D 标签、颜色和尺寸可直接从<代码> 所以我的目标是选择
如何能够基于另一个同级节点的属性选择节点属性?我想要实现的是从所有节点中提取链接(href值),这些节点后跟具有属性class=“body table news loss”的节点跨度,即选择器应该返回https://finance.yahoo.com/news/inspiremd-announces-planned-recapitalization-120000752.html在下面的示例中。我试
我一直在用PHP的SimpleXMLIterator处理XML数据。 在迭代一个子树(