2

KML ファイルの解析で 2 つの問題があります。私はそれを行うために DocumentBuilder を使用しています。これは、解析したい部分の例です。

<Placemark>
 <description>&lt;div align=center&gt;&lt;img src=some_image.jpg  width=300 height=220/&gt;&lt;br/&gt;SOME IMAGE&lt;/div&gt;</description>
 <styleUrl>#m_ylw-pushpin</styleUrl>
 <ExtendedData>
   <Data name="Numero">
     <Value>00032</Value>
   </Data>
   <Data name="Nombre">
     <Value>GTA ALONSO MARTINEZ</Value>
   </Data>
 </ExtendedData>
 <Point>
   <altitudeMode>relativeToGround</altitudeMode>
   <coordinates>-3.69556116887887,40.4276170711932,10 </coordinates>
 </Point>
</Placemark>

最初に、"Placemark" の子を取得したいときに、タグの間に "\n" という改行文字を取得します。例えば

NodeList nodeList = doc.getElementsByTagName("Placemark");
String node = nodeList.item(0).getTextContent(); // node = "\n"
String node2 = nodeList.item(1).getTextContent(); // node = [content of <description>]

もう 1 つの問題は、DocumentBuilder が html 文字 (< および >) を (< および >) に変換して、このタグを取得し、適切に解析できるかどうかです。

ありがとうございました

4

2 に答える 2

1

http://code.google.com/p/javaapiforkml/のような KML ライブラリを試しましたか?

具体的には、特に XML の解析や文字セットなどに慣れていない場合は、KML の生成または解析に対する答えはほぼ常にこれです。

于 2013-01-24T22:52:52.923 に答える
0

DocumentBuilderFactory合体 (つまり、CDATA 要素をテキスト ノードに展開する)、コメントの無視など、で構成できるオプションがいくつかあります。

あなたの場合、空白のコンテンツ (タブ、\n、スペースなど) を含まない XML コンテンツを、要素間の "\n" を含まないプレーン テキストでダンプするだけの場合は、のメソッドに渡す必要がtrueありsetIgnoringElementContentWhitespace()ますDocumentBuilderFactory

于 2013-01-24T12:18:28.337 に答える