質問

XML解析について質問があります。私はサンプルプログラムを試していて、それを少し変更して、解析がどのように機能するかを理解しようとしましたが、私はよく理解していない出力に遭遇し、何人かが何をしているのかを明らかにすることができることを願っています。

これは私のXMLファイルです:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="http://www.test.com">
   <ApplicationSettings>
           <option_a>"10"</option_a> 
           <option_b>"24"</option_b>
   </ApplicationSettings>
</root>

プログラム全体にデバッグステートメントを挿入して、getChildNodes()プロセスなどの関数が呼び出されたときに何が起こっているのかを理解しようとします。これは私が受け取った出力です:

Parsing xml file...
Processing Root...
Processing children with getChildNodes()...
>>>>>>>>>>> Loop child 0: Node name is: #text
>>>>>>>>>>> Loop child 1: Node name is: ApplicationSettings
= ApplicationSettings processing children with getChildNodes()...
***** iter 0 child name is #text
***** iter 1 child name is option_a
***** iter 2 child name is #text
***** iter 3 child name is option_b
***** iter 4 child name is #text
>>>>>>>>>>> Loop: 2 Node name is: #text

出力から、XMLファイルを簡単に解析して簡単に推測できます。しかし、私はプログラムが名前の追加ノードも検出したことに気付きました #文章 (getNodename()関数を使用して印刷)。私の質問は、それらは何をするかです #文章 参照し、なぜそれらはループ全体に定期的に現れるのですか?

ありがとう!

役に立ちましたか?

解決

それらの #text 例のノードは、タグ間の空白を参照してください。たとえば、ここに

<root xmlns="http://www.test.com">
   <ApplicationSettings>

ラインフィードと4つのスペースがあります ...com"><App....

次のことを解析して、何が起こるかを確認することができます。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="http://www.test.com"><ApplicationSettings><option_a>"10"</option_a><option_b>"24"</option_b></ApplicationSettings></root>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top