このxmlattributeを取得する方法
-
02-10-2019 - |
質問
MusicBrainz RESTサービスから、次のXMLを取得します。
<artist-list offset="0" count="59">
<artist type="Person" id="xxxxx" ext:score="100">
...
WCFおよびXMLSerializationFormatを使用して、タイプとIDの属性を取得することができます...しかし、「ext:score」を取得するにはどうすればよいですか?
これは機能します:
public class Artist
{
[XmlAttribute("id")]
public string ID { get; set; }
[XmlAttribute("type")]
public ArtistType Type { get; set; }
しかし、これは次のとおりです。
[XmlAttribute("ext:score")]
public string Score { get; set; }
シリアル化例外を生成します。また、「スコア」を使用してみましたが、機能しません。
何か助けがありますか?
解決
属性はです 名前が付けられました 「スコア」、そして「ext」が参照される名前空間にあります。これは、おそらくXMLネームスペースエイリアスです。
したがって、「ext」マップ(xmlnsを探す)を見つけて追加します。
[XmlAttribute("score", Namespace="http://example.org/ext-9.1#")]
public string Score { get; set; }
編集;それを見つけた ここ;見る xmlns:ext="http://example.org/ext-9.1#"
. 。また、主なオブジェクトがあるように見えることに注意してください xmlns="http://musicbrainz.org/ns/mmd-1.0#"
ルート/オブジェクトレベルで説明する必要がある場合があります。
他のヒント
ext
の名前空間です score
属性。名前空間を指定してみてください:
[XmlAttribute(AttributeName="score", Namespace="the ext namespace")]
所属していません StackOverflow