我有问题。 这是我第一次使用c#
中的xml文档我有一个这样的XML文档:
<root>
<GLOBAL>
<copy>@srcdir@c:\test1\test.txt, @destdir@C:\test1\test.txt</copy>
</GLOBAL>
</root>
现在我想在c#中创建一个加载xml的应用程序(使用xdocument完成),你选择了一个选项(在本例中为global),然后它获取了copy元素,并且复制了下面列出的文件这个元素。
我有复制功能正常工作,加载xml已经完成,但是在变量中获取srcdir和destdir是个问题。
任何可以帮助我走上正轨的人吗?
亲切的问候,
答案 0 :(得分:0)
也许你应该尝试这样做:
<copy src="c:\test1\test.txt" dest="C:\test1\test.txt"/>
并获得归属感。
答案 1 :(得分:0)
使用Linq
到Xml
,您可以执行此操作。
XDocument doc = XDocument.Load(filepath);
var copyitems = doc.Descendants("GLOBAL") // Read all descendants
.Select(s=>
{
var splits = s.Value.Split(new string[] {"@srcdir@", "@destdir@"}, StringSplitOptions.RemoveEmptyEntries); // split the string to separate source and destination.
return new { Source = splits[0].Replace(",",""), Destination = splits[1].Replace(",","")};
})
.ToList();
现在你可以将源和目的地读作......
foreach(var copy in copyitems)
{
Console.WriteLine("{0}- {1}", copy.Source, copy.Destination);
}
<强>输出:强>
c:\test1\test.txt - C:\test1\test.txt
选中此Demo