作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试迭代此 XML
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Sitemap>
<TreeMap>
<RootNodes>
<TreeMapNode>
<NodeType>Folder</NodeType>
<NodeValue>fwreference_war</NodeValue><!--component name=project name-->
<ChildNodes>
<TreeMapNode>
<NodeType>Folder</NodeType>
<NodeValue>education</NodeValue><!--packegeName=nodevalue.title-->
<ChildNodes>
<TreeMapNode>
<NodeType>Folder</NodeType>
<NodeValue>editorsample::Mapping</NodeValue><!--title=mapping ; name=editorsample-->
<ChildNodes>
<TreeMapNode>
<NodeType>PackageHandle</NodeType>
<NodeValue>01::inquiry::list</NodeValue><!--sceenName::screenmode::screentype-->
<ChildNodes />
</TreeMapNode>
</ChildNodes>
</TreeMapNode>
</ChildNodes>
</TreeMapNode>
</ChildNodes>
</TreeMapNode>
</RootNodes>
</TreeMap>
</Sitemap>
<Mastermap>
<TreeMap>
<RootNodes />
</TreeMap>
</Mastermap>
<Pages />
<Masters />
</Document>
1) 我想提取每个 <NodeType>
的值里面<sitemap>
.
2) 当我尝试从 <sitenode>
迭代时但是当我尝试查找子节点时,结果如下:
NodeList headerList = doc.getElementsByTagName("Sitemap");
NodeList childNodeList=headerList.item(0).getChildNodes();
//gives 3
NodeList headerList = doc.getElementsByTagName("TreeMap");
NodeList childNodeList=headerList.item(0).getChildNodes();
//gives 3
NodeList headerList = doc.getElementsByTagName("RootNodes");
NodeList childNodeList=headerList.item(0).getChildNodes();
//gives 3
NodeList headerList = doc.getElementsByTagName("TreeMapNode");
NodeList childNodeList=headerList.item(0).getChildNodes();
//gives 8
如何迭代这个层次结构以及为什么上面三个标签给出相同的编号。子节点数,即 3?
最佳答案
你已经接近解决这个问题了。您可以迭代子级并检查它是否是 Node.ELEMENT_NODE
。
您的元素有 3 个子元素的原因是因为它具有混合内容。标签前有一些空格和换行符。所以基本上每个节点都有 [Node.TEXT_NODE, NODE.ELEMENT_NODE, Node.TEXT_NODE]
关于java - 想要使用 DOM 遍历 XML 中的层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31285158/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!