view plaincopy to clipboardprint?
代码如下:
NodeList lists = root.getChildNodes();
System.out.println(lists.getLength());
xml文件是这样的:
<root>
<list><key>aaa</key><key>bbb</key></list>
<list><key>ssssss</key></list>
</root>
结果发现lists的长度居然是5,怎么也不明白,后来发现如果把xml文件改一下,把tab、回车都去掉,长度就成了2了。
代码如下:
NodeList lists = root.getChildNodes();
System.out.println(lists.getLength());
xml文件是这样的:
<root>
<list><key>aaa</key><key>bbb</key></list>
<list><key>ssssss</key></list>
</root>
结果发现lists的长度居然是5,怎么也不明白,后来发现如果把xml文件改一下,把tab、回车都去掉,长度就成了2了。
解析器认为<root>和<list>,</list>和<list>,<list>和</root>之间的空白部分也是节点,所以答案是5
关于这个,反正就是好像xml里面把空格、tab、回车都有可能当成node。所以api里面专门有个方法:ignorableWhitespace 是用来处理这个问题的
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luweifeng1983/archive/2009/03/27/4028327.aspx
分享到:
相关推荐
这种方法可以将复杂的树形结构数据转换成易于理解和处理的 JSON 格式。 在 Java 中,使用递归算法可以将树形结构数据处理成 JSON 格式。在这个示例代码中,我们使用了 json-lib.jar 包将 List 序列化成 JSON。首先...
树形结构可以通过`getElementsByTagName()`, `getChildNodes()`等方法进行遍历和操作。 `ButtonTest`类可能包含了一个或多个按钮,当用户点击按钮时,触发解析XML并显示树状结构的事件。这通常涉及到GUI(图形用户...
- 在Java中,可以使用`DocumentBuilderFactory`和`DocumentBuilder`来解析XML文件,获取`Document`对象,然后通过`getElementByTagName()`、`getChildNodes()`等方法进行操作。 7. **节点类型**: - 在DOM中,...
接着,通过遍历`getChildNodes`获取所有子节点,根据`getNodeType`判断节点类型,如果是元素节点(ELEMENT),则进行元素相关的处理;如果是文本节点(TEXT),则进行文本内容的处理。 在实际应用中,处理XML元素...
NodeList nodeList = rootElement.getChildNodes(); for (int i = 0; i (); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { // 处理元素节点... } } ``` 然而,需要...
- 遍历节点:通过`getElementsByTagName()`, `getChildNodes()`, `getNextSibling()`等方法遍历并访问XML结构中的各个元素、属性和文本节点。 - 修改节点:使用`createElement()`, `setAttribute()`, `removeChild...
在ASP.NET中,你可以创建一个辅助方法,如`GetChildNodes()`,该方法接收当前节点的ID,返回其所有子节点。 在ASP.NET Web Forms中,我们可以使用控件如TreeView来呈现树形结构。TreeView控件允许我们动态加载节点...
foreach (Table table in doc.GetChildNodes(NodeType.Table, true)) { foreach (Row row in table.Rows) { foreach (Cell cell in row.Cells) { // 在这里处理单元格内容 } } } ``` 最后,导出修改后的文档...
例如,`GetChildNodes`可以返回一个XmlNode集合,表示当前节点的所有子节点;`GetAttributeValue`用于获取节点的特定属性值。 XmlAttribute类是XML元素节点的属性,用于存储与元素相关联的元数据。在自封装的...
可以调用`getTextContent()`获取元素的文本内容,`getChildNodes()`获取子节点,`getAttribute()`获取属性值。 6. **动态UI构建**:在Android应用中,DOM解析常用于动态构建UI,比如从XML配置文件加载布局或根据XML...
3. 遍历元素:使用`getElementsByTagName()`或`getElementById()`等方法获取指定元素,通过`getChildNodes()`遍历子元素,`getAttribute()`获取属性值。 4. 修改元素:`createElement()`, `appendChild()`, `...
protected override SiteMapNodeCollection GetChildNodes(SiteMapNode parent) { // 连接数据库,获取数据,并构建SiteMapNode集合 // ... } protected override SiteMapNode GetRootNode() { // 创建根...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在数据交换、配置文件以及文档存储等领域。DOM(Document Object ...通过理解和实践DOM解析,开发者能够有效地在Java应用中集成XML数据处理。
3. **解析XML元素**:类可能提供了遍历和访问XML元素的方法,如`GetRootNode`获取根节点,`GetChildNodes`获取子节点,`GetAttributeValue`获取属性值等。 4. **修改XML元素**:可能有方法允许修改元素的值、属性或...
NodeList nodeList = rootElement.getChildNodes(); for (int i = 0; i (); i++) { Node currentNode = nodeList.item(i); // 处理当前节点... } ``` 在压缩包中,有两个文件:`test1.java`和`SDSWorkOrder.java`...
首先,我们需要理解DOM解析的基本原理。DOM解析器会将整个XML文件加载到内存中,形成一个节点树。这棵树的根节点代表整个XML文档,而其他节点则表示文档中的元素、属性、文本等内容。这种解析方式的优点是能够快速...
总之,理解XML文件的DOM操作对于处理结构化数据至关重要。通过DOM,我们可以方便地遍历、检索和修改XML文档,为各种应用程序提供数据支持。随着技术的发展,还有许多高级工具和库可以帮助简化XML操作,但掌握DOM的...
在C#编程中,`TreeView`控件是一个常用的可视...理解如何创建、遍历和更新`TreeNode`对于开发涉及树形结构的应用至关重要。如果你遇到问题,记得检查节点状态、事件处理和自定义逻辑,确保正确无误地获取和操作子节点。
NodeList childNodes = element.getChildNodes(); for (int i = 0; i (); i++) { Node node = childNodes.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { parseElement((Element) node); } } } ``...
NodeList childNodes = eElement.getChildNodes(); for (int j = 0; j (); j++) { Node childNode = childNodes.item(j); if (childNode.getNodeType() == Node.TEXT_NODE) { System.out.println("Child Node :...