/ / xml - c#、xml、tridion、tridion-2011からxlink:titleの属性値を取得する方法

xml:c#、xml、tridion、tridion-2011からxlink:titleの属性値を取得する方法

これは、グループのメンバーを取得するために生成されたxmlです。私はこのXMLから価値techabc1234を取得する必要があります。

<tcm:Trustee xlink:href="tcm:0-61-65552" xlink:type="simple" xlink:title="techabc1234" Type="65552" Icon="T65552L0P0" xmlns:xlink="http://www.w3.org/1999/xlink"  xmlns:tcm="http://www.tridion.com/ContentManager/5.0"></tcm:Trustee>

しかし、私が属性値を取得しようとすると:

XElement userList = csClient.GetListXml(grpId, members);

foreach (var eachuser in userList.Elements())
{
logdetails(eachuser.Attribute("xlink:title").Value.ToString());
}

次のエラーが表示されます。 error The ":" character, hexadecimal value 0x3A, cannot be included in a name.

回答:

回答№1の場合は12

現在、あなたは stringXName 変換は、その文字列を ちょうど 要素のローカルIDであり、コロンを含むことはできません。

作成する必要があります XName 完全な名前空間+ローカルIDを使用します。幸いにも、LINQはそれを本当に簡単にします:

XNamespace xlink = "http://www.w3.org/1999/xlink";
XElement userList = csClient.GetListXml(grpId, members);

foreach (var user in userList.Elements())
{
logdetails(user.Attribute(xlink + "title").Value);
}

電話をする必要はないことに注意してください ToString()Value - XAttribute.Value すでに文字列を返します。