有没有人有一个想法如何找出一个元素是否包含<![CDATA[ text ]]>
?我通过dom4j API和Jaxen进行搜索,但我找不到如何做到这一点......如果我检索文本,它将裁剪掉cdata包装。如何使用Dom4j测试元素的CDATA值?
0
A
回答
0
技术上你仍然可以这样做。
public boolean isCDATA(org.dom4j.Node node) {
for (org.dom4j.Node n : node.content()) {
if (org.w3c.dom.Node.CDATA_SECTION_NODE == n.getNodeType()) {
return true;
}
}
return false;
}
0
http://dom4j.sourceforge.net/dom4j-1.6.1/apidocs/org/dom4j/Node.html#getNodeType%28%29
这项工作?
public short getNodeType()
根据节点类型返回代码。这使得处理节点的多态性变得容易得多,因为可以使用switch语句而不是多个if(instanceof)语句。
返回:
Node.asXML()
其值由任何未修饰的返回整个元件:如ELEMENT_NODE节点类型,例如或ATTRIBUTE_NODE
+0
你问我:-)?它不会,它返回元素的类型...我关心它的值 – lisak
+0
您可以使用它,但它必须与content()方法结合使用。 –
1
的方法,一个W3C DOM complient代码。
所以,如果您有:
<nodes>
<node><![CDATA[value]]></node>
</nodes>
调用文本方法将返回 “值”,但调用 “asXML()” 将返回:
<node><![CDATA[value]]></node>
从那里,我想你可以对CDATA标签进行字符串搜索。
相关问题
- 1. NoClassDefFoundError:org/dom4j /元素
- 2. DOM4J:更换元素
- 3. dom4j cdata(保留空格)
- 4. dom4J:如何获得Node的元素的值?
- 5. 阅读xml没有cdata的元素值?
- 6. 如何使用Groovy DOMBuilder在CDML中使用CDATA查找元素?
- 7. 的xsl:使用CDATA段元素的输出,不封装针对性的CDATA标记CDATA段元素
- 8. 使用结尾的元素测试字段的值使用
- 9. 如何编写单元测试来声明jQuery元素的值
- 10. 使用DTD将元素定义为CDATA?
- 11. 的xsl:内部XSL CDATA元素:元素
- 12. 用DOM4J读取XML元素内容
- 13. dom4j - 无法从xml获取cdata
- 14. 如何测试System.Array中的空元素
- 15. 孙子元素的XPath测试值?
- 16. 如何使用CDATA创建XML :: TreeBuilder元素?
- 17. 使用正则表达式来包装xml元素值与cdata
- 18. 用Jython和dom4j可以在元素之间添加元素吗?
- 19. 如何使用jasmine测试带有DOM元素的JavaScript?
- 20. 使用dom4j的
- 21. 如何使用jmockit做单元测试单元测试
- 22. Android:单元测试:如何使用SensorManager创建单元测试?
- 23. 用jQuery-Chai测试元素
- 24. 使用Selenium IDE测试元素高度
- 25. 如何对齐测试元素旁边的流程元素?
- 26. XSLT:如何处理测试元素的值?
- 27. HTML元素测试?
- 28. Java测试元素
- 29. 使用dom4J启用打开和关闭空元素标签
- 30. 强制清空CDATA元素
你是对的,但它必须是元素,因为该方法在AbstractBranch类中。 – lisak