我正在使用org.w3c.dom api在JavaBean中解析XML文档。
如果Node是ElementNode,则方法node.getNodeName()返回该节点的标记名。
但是,如果我在具有文本内容的childnode上使用它,则不会返回标记名。但是它返回诸如#TextNode或#CDATA之类的nodeType。但是我也想获得ChildNode的TagName。
我努力了
node.getNodeName();
node.getNodeValue();
node.getTextContent();
以上三种方法均未返回具有Textcontent的子节点的标记名。
正确的方法是什么?
最佳答案
如果节点类型以CDATA或TextNode的形式返回,那么您正在查看的节点就是文本数据-它不是包含文本数据的元素。因此,该节点没有标签名称-它不是标签。您应该向它询问其父节点(将是一个元素)并找到它的名称。
如果那没有帮助,请发布一些示例代码(最好是一个简短但完整的控制台应用程序,我们可以复制,粘贴,编译和运行),运行时所用的XML,预期输出和实际输出。