我有一个小问题。我的XML文档如下所示:
<?xml version="1.0" encoding="utf-8"?>
<BACKUP>
<HEAD>
<NAME>Test</NAME>
<DATE>19.05.2015 17:05:42</DATE>
</HEAD>
<DIRECTORYSRC>
<SOURCEDIR>C:\Users\User\Pictures</SOURCEDIR>
</DIRECTORYSRC>
<DIRECTORYTRG>
<TARGETDIR>D:\_backup</TARGETDIR>
</DIRECTORYTRG>
</BACKUP>
阅读NAME
和TARGETDIR
值内容的最佳方式是什么?是否有一种只读取这些特定节点的简单方法?
如果我有一个TARGETDIR
个节点怎么办?我可以使用foreach
循环吗?
答案 0 :(得分:2)
您可以使用LINQ to XML轻松完成此操作:
$section = $phpWord->addSection();
$section->getStyle()->setBreakType('continuous');
var doc = XDocument.Parse(xml);
var name = (string)doc.Descendants("NAME").Single();
var targetDirs = doc.Descendants("TARGETDIR").Select(e => e.Value).ToList();
包含您的单个name
值,NAME
是包含所有targetDirs
值的List<string>
。