var xEle = new XElement("ContentDetails",
from emp in _lstContents
select new XElement("Contents",
new XAttribute("key", emp.Key),
new XAttribute("PublishedDate", emp.PublishedDate),
new XAttribute("FilePathURL", emp.FilePathURL),
new XAttribute("ID", emp.TitleID),
new XAttribute("ContentName", emp.Name)
));
_lstContents 包含整个记录。我需要通过 LinQ 操作来构建 XmlDocument 我知道它可以实现并且我做到了。这是我所做的示例 XML:
<ContentDetails>
<Contents ContentName="Sample Project Plan SOW" ID="3"
FilePathURL="http://192.168.30.59/contentraven/Uploads/Custom_View_LLC/EncryptedFile/zsg34g45tfblrkvzjh0cdlvs_17_7_2012_19_24_3.doc"
PublishedDate="2012-07-10T14:37:02.073" key="310-072012-A5CDE"/>
</ContentDetails>
但现在我需要的是
<ContentDetails>
<Contents ContentName="Sample Project Plan SOW" ID="3"
FilePathURL="http://192.168.30.59/contentraven/Uploads/Custom_View_LLC/EncryptedFile/zsg34g45tfblrkvzjh0cdlvs_17_7_2012_19_24_3.doc"
PublishedDate="2012-07-10T14:37:02.073" key="310-072012-A5CDE"/>
<categories>
<category id="1" categoryname="Category-1" contentid="3"/>
<category id="2" categoryname="Category-2" contentid="3"/>
<category id="3" categoryname="Category-3" contentid="3"/>
</categories>
</ContentDetails>
我正在尝试这样的事情
var xEle = new XElement("ContentDetails",
from emp in _lstContents
select new XElement("Contents",
new XAttribute("key", emp.Key),
new XAttribute("PublishedDate", emp.PublishedDate),
new XAttribute("FilePathURL", emp.FilePathURL),
new XAttribute("ID", emp.TitleID),
new XAttribute("ContentName", emp.Name),
new XElement("Categories",
new XElement("Category",
new XAttribute("ID", emp.Category.ForEach(_P => _P.CategoryID ),
new XAttribute("CategoryName", emp.Category.ForEach(_P => _P.CategoryName))
)
));
我怎么能做到这一点?
emp.Category 是_lstContents List 中的一个Property List;
我需要创建与 emp.Category 中一样多的 CategoryName 属性。
请参阅随附的屏幕截图。谢谢