3
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document> <Placemark> <Name>Test Name</Name> <Description><b>Project Information</b><br><ul><li>Project Name: Test Name</li><li>Project Number: Test Number</li><li>Project Location:  Test Location</li><li>System: Test System</li></ul><br><b>Project Team</b><br><br><ul><li>Regional Manager: Mem 1</li><li>Project Manager: Mem 2</li></ul><br>YouTube Video URL: <a href="http://youtu.be/U9EYP9GIe2k"><br>Picassa Album URL: <a href="www.picassa.com"><br></Description> <Point> <Coordinates>30,-125</Coordinates>,0 </Point> </Placemark> </Document> </kml>

これは私のカスタムExcelマクロが生成しているものです(私はプログラミングに不慣れなので、何か大きなことに気づいたら気楽にやってください)。Google EarthでKMLファイルを開こうとすると、次のメッセージが表示されます。ファイル「ファイルパス」を開くことができませんでした:2行454列の解析エラー:タグが一致していません。これは/Descriptionタグと相関しています...このタグの何が問題になっていますか?対応するDescriptionタグと一致します。

4

1 に答える 1

8

破損したKMLファイルをデバッグおよび修復するために適用できるテクニックはいくつかあります。

基本的に、KMLファイルを検証する最も簡単な方法は、最初にWebブラウザを使用することです。KMLはXMLファイルであるため、最初に、それが整形式のXMLファイルであるかどうかをテストできます。これは、有効なKMLファイルであるための前提条件です。.xmlファイル拡張子を追加してKMLファイルの名前を変更し、ファイルをWebブラウザ(Firefox、Chromeなど)にドラッグして検証します。詳細な例はこちらをご覧ください

これらのエラーが見つかって修正されたら、ファイルがOGCKML仕様およびスタンドアロンコマンドラインXmlValidatorツールなどの関連するXMLスキーマに関して有効なKMLであるかどうかを確認するKMLバリデーターを試すことができます。

この例では、単純なXML SAXパーサーを実行すると、次のように表示されます。要素タイプ "br"は、列455で一致する終了タグ""で終了する必要があります</br>

<description>その要素にHTMLマークアップが含まれているが、CDATAブロックでエスケープされていないというエラー(CDATAはXML標準の一部です)。これを修正するには、KMLを次のように再フォーマットする必要があります。

  <description>
      <![CDATA[
          <b>Project Information</b>
          ...
          <br>
      ]]>
  </description>

また、要素の名前が間違っています(説明と説明)。KMLでは大文字と小文字が区別されます。

KMLファイルをデバッグするためのその他のヒントはここにあります。

于 2012-11-29T16:54:41.287 に答える