我将尝试从一个xml文件中选择一个XElement,并匹配xml文档的两个“级别”。我的文件结构是:
<app>
<Library Name="Main" Path="C:\somefile.Xml">
<ReadingList Name="Test1">
<Book>...
<ReadingList Name="Test2">
<Book>...
<Library Name="Backup" Path="C:\somefile.Xml">
我希望能够在"Main"图书馆中找到名为"test2"的阅读列表,以便将此元素及其所有子元素复制到另一个图书馆节点。
我更喜欢使用linq的解决方案,因为我正在尝试学习它。
非常感谢您的任何帮助。
当我添加一个新的“阅读列表”时,我是这样做的:
public void AddReadingList(string fullyQualifiedPath, Library lib, string name)
{
XDocument xdoc = XDocument.Load(fullyQualifiedPath);
XElement library = xdoc.Element("eStack").Elements("Library")
.Single(x => x.Attribute("Name").Value == lib.Name);
library.Add(new XElement("ReadingList", new XAttribute("Name", name)));
xdoc.Save(fullyQualifiedPath);
}
但我想执行的操作是复制这个元素和子元素。问题在于,可能会有多个具有相同名称的“library”元素,因此我需要检查库名称和读取列表名称。这样说清楚了吗?