0

ImageGlue を使用して、画像から Exif データを読み取ります。ImageGlue は、exif データを正常に取得し、xml 文字列を返します。XMLDocument を使用して xml 文字列をロードしようとすると、次のエラーがスローされます。

名前を「8」の文字で始めることはできません。

xml のどの部分がエラーを引き起こしているかはわかっていますが、それが xml に問題があるのか​​、それとも xmldocument オブジェクトを読み込もうとしているのに問題があるのか​​はわかりません。xml は次のとおりです。エラーの原因となっているタグは最後のタグです: Industries, Inc. 「8298」が気に入らないため、削除すると正常に動作します。Exif から正しい xml を生成しない ImageGlue の問題ですか、それとも XmlDocument オブジェクト (C#) が正しく読み取っていないのでしょうか...?

<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:exif=\"http://ns.adobe.com/exif/1.0/#\">
<rdf:Description>
<dc:date>2013-10-17T14-08-19Z</dc:date>
<dc:type>image</dc:type>
<dc:format>image/jpeg</dc:format>
<dc:source>Photo</dc:source>
<exif:ImageWidth>4368 pixels</exif:ImageWidth>    
<exif:ImageLength>2912 pixels</exif:ImageLength>    
<exif:BitsPerSample>8,8,8</exif:BitsPerSample>  
<exif:Compression>6</exif:Compression>   
<exif:PhotometricInterpretation>2</exif:PhotometricInterpretation>    
<exif:Model>Canon EOS 5D</exif:Model>    
<exif:Orientation>Normal</exif:Orientation>   
<exif:SamplesPerPixel>3</exif:SamplesPerPixel>    
<exif:XResolution>72 pixels per inch</exif:XResolution>    
<exif:YResolution>72 pixels per inch</exif:YResolution>    
<exif:ResolutionUnit>inch</exif:ResolutionUnit>    
<exif:Software>Adobe Photoshop CS5 Windows</exif:Software>    
<exif:DateTime>2013:10:16 10:42:48</exif:DateTime>    
<exif:Artist>bobbi </exif:Artist>    
<exif:ThumbnailOffset>838</exif:ThumbnailOffset> 
<exif:ThumbnailLength>6049</exif:ThumbnailLength>
<exif:Tag 8298>Industries, Inc.</exif:Tag 8298>
4

1 に答える 1

4

これは無効な XML です。ImageGlue が正しい XML を生成していません。「Tag 8298」という XML タグ名を使用しようとしていますが、そこではスペースが機能しません。つまり、8298 は属性名として解釈され、数字で始めることはできません。

于 2013-10-17T14:44:42.700 に答える