2012-02-25 9 views
1

SAXParserの使い方とそのコンポーネントを理解しています。私はこのファイルをテストするためのSAXParserを使用する場合、XML SAX:ある例のXMLファイル `qName`と` localName`を説明してください

<?xml-stylesheet href="/externalflash/NASA_Detail/NASA_Detail.xsl" type="text/xsl"?> 

<rss version="2.0"> 
    <channel> 
     <title>NASA Image of the Day</title> 
     <link>http://www.nasa.gov/multimedia/imagegallery/index.html</link> 
     <description>The latest NASA "Image of the Day" image.</description> 
     <language>en-us</language> 
     <docs>http://blogs.law.harvard.edu/tech/rss</docs> 
     <managingEditor>[email protected]</managingEditor> 
     <webMaster>[email protected]</webMaster> 

     <item xmlns:java_code="xalan://gov.nasa.build.Utils1"> 
      <title>Expedition 30 Cosmonauts Perform Spacewalk</title> 
      <link>http://www.nasa.gov/multimedia/imagegallery/image_feature_2181.html</link> 
      <description>This image of Russian cosmonauts Oleg Kononenko and Anton Shkaplerov, both Expedition 30 flight engineers, was taken during a spacewalk on Thursday, Feb. 16, 2012. During the six-hour, 15-minute spacewalk, Kononenko and Shkaplerov moved the Strela-1 crane from the Pirs Docking Compartment in preparation for replacing it in 2012 with a new laboratory and docking module. The duo used another boom, the Strela-2, to move the hand-operated crane to the Poisk module for future assembly and maintenance work. Both telescoping booms extend like fishing rods and are used to move massive components outside the station. On the exterior of the Poisk Mini-Research Module 2, they also installed the Vinoslivost Materials Sample Experiment, which will investigate the influence of space on the mechanical properties of the materials. The spacewalkers also collected a test sample from underneath the insulation on the Zvezda Service Module to search for any signs of living organisms. Both spacewalkers wore Russian Orlan spacesuits bearing blue stripes and equipped with NASA helmet cameras. Image Credit: NASA</description> 
      <guid isPermaLink="true">http://www.nasa.gov/multimedia/imagegallery/image_feature_2181.html</guid> 
      <pubDate>Wed, 22 Feb 2012 00:00:00 EST</pubDate> 
      <enclosure length="1234567" type="image/jpeg" url="http://www.nasa.gov/images/content/624856main_image_2181_516-387.jpg"/> 
     </item> 
    </channel> 
</rss> 

ここに私の出力のいくつかの行である:ここで私がテストに使用私のXMLファイルがある

start Element: rss 
Local Name // this line I don't know why null 
qNam: rss 
start characters: 

start Element: channel 
Local Name 
qNam: channel 
start characters: 

私の質問は:私のXMLファイルに各要素はデフォルトのnamespaceに属し、qNamelocal Nameになります(qNameの場合はprefixなので)。

上記の結果では、要素rsschannel(とまだ投稿していない他のすべて)のlocal Nameはnullです。

私のために説明できる人は、どうぞ。

感謝:)

+0

"null"ではありません。空白です。重要な違い。 – skaffman

答えて

3

これは、Javadocの中で少しは不明である:

URI - 名前空間URI、または空の文字列要素が名前空間URIを持たない場合、または名前空間処理が行われていない場合

ローカル名 - (接頭辞なし)ローカル名前、または名前空間処理が

QNAME行われていない場合は、空の文字列 - (接頭辞)修飾名を、または目空の文字列。修飾名が使用できない場合

atts - 要素にアタッチされた属性。属性がない場合は、空のAttributesオブジェクトになります。このオブジェクトの値のstartElementが戻った後は、名前空間処理により

未定義でオフ、唯一qNameは(NO接頭辞)が返されています。

+0

はい、qNameパラメータの説明はひどいです。その解釈はそこにあるという記述から来るかもしれませんが、その理解は句読点の変更によって利益を得るでしょう –

+0

おそらく: "qName - 修飾名(接頭辞付き、または修飾名が利用できない場合は空の文字列)" –

関連する問題