gpt4 book ai didi

java - 使用 getNodeValue() 获取文本和内联元素

转载 作者:太空宇宙 更新时间:2023-11-04 14:45:19 26 4
gpt4 key购买 nike

我正在尝试了解关于 Java 中的 XPath 的非常棒的教程 ( http://viralpatel.net/blogs/java-xml-xpath-tutorial-parse-xml/ )。从元素获取文本字符串的解释非常好。但我找不到获取文本和内联元素的方法。对于教程中的 XML,我添加了一个 内联元素:

<Employee emplid="3333" type="user">
<firstname>Big <b>Jim</b></firstname>
<lastname>Moriarty</lastname>
<age>52</age>
<email>jim@sh.com</email>
</Employee>

我使用教程中的代码:

        System.out.println("**2***********************");
expression = "/Employees/Employee/firstname";
System.out.println(expression);
NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
for (int i = 0; i < nodeList.getLength(); i++) {
System.out.println(nodeList.item(i).getFirstChild().getNodeValue());
}

它会跳过内联:

/Employees/Employee/firstname
Big

我希望获取 的全部内容,包括标签,如下所示

/Employees/Employee/firstname
Big <b>Jim</b>

如果需要,我很乐意提供更多代码。

最佳答案

尝试nodeList.item(i).getFirstChild().getTextContent()

它将以字符串形式返回节点和所有子节点。

关于java - 使用 getNodeValue() 获取文本和内联元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462308/

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