2011-01-20 22 views
3

。テキストはただ一つのタグXML解析問題

<item> 
    <title>SMWRME: Internet per &#8220;Collaborare senza confini&#8221;. Soprattutto alla SMW di Roma, dal 7 all'11 febbraio. Ecco il terzo percorso. http://cot.ag/ewnJ4F</title> 
    <description>SMWRME: Internet per &#8220;Collaborare senza confini&#8221;. Soprattutto alla SMW di Roma, dal 7 all'11 febbraio. Ecco il terzo percorso. http://cot.ag/ewnJ4F</description> 
    <pubDate>Mon, 27 Dec 2010 20:05:01 +0000</pubDate> 
    <guid>http://twitter.com/SMWRME/statuses/19483914259140609</guid> 
    <link>http://twitter.com/SMWRME/statuses/19483914259140609</link> 
    <twitter:source>&lt;a href=&quot;http://cotweet.com/?utm_source=sp1&quot; rel=&quot;nofollow&quot;&gt;CoTweet&lt;/a&gt;</twitter:source> 
    <twitter:place/> 
    </item> 

にある文字

その種類の前にトランク接続されているので、私は、文字列

document_Twitter.getElementsByTagName("title").item(2).getFirstChild().getNodeValue() 

を呼び出すとき、私は、この動作は、Androidアプリケーションのためだけに起こるないことに気づきました。 同じコードがJavaアプリケーションで正常に動作します。 誰かが私を助けることができますか?

答えて

1

代わりにdocument_Twitter.getElementsByTagName("title").item(2).getTextContent()をお試しいただけますか?実際に私は同じことを行うにはDOMパーサーを想像できるように、複数の部分に文字コンテンツ分割を送達する

- "item" element 
    - "title" element 
    - text node "SMWRME: Internet per " 
    - text node "&#8220;" 
    - text node "Collaborare senza confini" 
    - text node "&#8221;" 

ほとんどのSAXパーサのように、このノードの下に複数のテキスト・ノードがあるかもしれません。 メソッドgetTextContentは、連結されたすべてのサブ・サブノードのテキスト・コンテンツを戻す必要があります。

DocumentBuilderを作成する前に、DocumentBuilderFactoryでsetCoalescing(true)を呼び出すこともできます。このドキュメントでは、CDATAセクションに影響すると記載されていますが、文字エンティティの処理も変更される可能性があります。

+0

回答ありがとう、xmlファイルを確認しました – alessandro

+0

@alessandroあなたの例のxmlでは、タイトルノードに子ノードがなく、テキストコンテンツしかありません。 getFirstChild呼び出しは、タイトルノードにnullを返す必要があります。 – DwB