如何告诉Libxml2在没有CDATA的情况下不解析某个元素?

时间:2015-03-11 17:46:54

标签: xml xml-parsing libxml2

我试图使用Libxml2来解析包含XML语法中的虚构程序描述的文件。特定元素的内容可能是c代码,如

<participant>
    <name>light</name>
    <condition>lamp=YELLOW</condition>
</participant>

是否可以告诉Libxml2解析器不要解析以条件标记开头的元素? 到目前为止,唯一的方法似乎是在任何地方添加CDATA标签。但我希望能够说明所有以某些标签开头的元素都不应该被解析。

1 个答案:

答案 0 :(得分:2)

libxml(以及其他所有解析器)将始终解析整个文件。它无法解析&#34;内容,因为它必须知道条件元素的结束位置 - 这意味着解析。

即使使用CDATA,它仍然会被解析,它只是不需要转义。如果你想包括像&amp;这样的符号和&lt;没有逃脱它们,CDATA是唯一的选择。