これは、グループのメンバーを取得するために生成された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現在、あなたは string
に XName
変換は、その文字列を ちょうど 要素のローカル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
すでに文字列を返します。