嗨,我正在使用 Perl 中的 LibXML 解析 XML 文件。我遇到的问题是结束字符(空格)被视为文本节点。例如,给定如下输入
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books [
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT book (title, author, year, price)>
<!ELEMENT books (book*)>
]>
<books>
<book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</books>
解析器认为节点“books”的子节点数为 3,它们是:
<books>
文本节点(包含和之间的字符<book>
)- 的元素节点
<book>
</book>
文本节点(包含和之间的字符</books>
)
问题是如何告诉 LibXML 忽略空格?我尝试使用 no_blanks (即 $parser = XML::LibXML->new(no_blanks => 1) 构建解析器时),但似乎没有效果。
提前致谢