こんにちは、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) ) を試しましたが、効果がないようです。
前もって感謝します