私は奇妙な問題を抱えており、XDocumentに関するすべてを試しました。
「CategoryClass」ノードの値を取得し、「ListBoxClass」タイプの独自のオブジェクトにサブノードを設定したいと思います。しかし、LINQクエリは何も返しません。
System.Xml.Linq.XNamespace lName = xDoc.Root.GetDefaultNamespace();
System.Xml.Linq.XNamespace lANamespace = "http://schemas.datacontract.org/2004/07/KRefreshService";
var lEle = from xml2 in xDoc.Element(lName + "GetCategoriesResponse").Element(lName + "GetCategoriesResult").Elements(lANamespace + "CategoryClass")
select new ListBoxClass
{
Id = (int)xml2.Element(lName + "ID"),
Name = xml2.Element(lName+ "CatName").ToString(),
Description = xml2.Element(lName + "CatDescription").ToString()
};
これがXMLです
<GetCategoriesResponse xmlns="http://tempuri.org/">
<GetCategoriesResult xmlns:a="http://schemas.datacontract.org/2004/07/KRefreshService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:CategoryClass>
<a:CatDescription>General questions regarding IQ. These questions will help you prepare for the interviews.</a:CatDescription>
<a:CatName>IQ</a:CatName>
<a:ID>1</a:ID>
</a:CategoryClass>
<a:CategoryClass>
<a:CatDescription>This category will help you improve your general knowledge. It have information from all the different subjects.</a:CatDescription>
<a:CatName>General Knowledge</a:CatName>
<a:ID>2</a:ID>
</a:CategoryClass>
<a:CategoryClass>
<a:CatDescription>If you feel that you computer science basics are slipping by your head as you involve more in technology. No problem! subscribe to this category.</a:CatDescription>
<a:CatName>Computer Science</a:CatName>
<a:ID>3</a:ID>
</a:CategoryClass>