1
我正在加載一個xml文檔,我在其元素中有一個foreach循環,我想選擇其中的名爲tag
的子元素。如何獲取xml元素的特定子元素?
這是XML文件:
<?xml version="1.0" encoding="utf-8"?>
<view>
<tag>
<name>content</name>
<tag>
<name>div</name>
</tag>
</tag>
</view>
這是代碼:
string xmlString = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/xml/xml.xml"));
XDocument doc = XDocument.Parse(xmlString);
XElement xmlElement = doc.Element("view");
foreach (var tagItem in xmlElement.Descendants("tag"))
{
//do something
}
寫在foreach循環中的代碼將包含在任何深度的所有標籤的元素,但我想得到第一個深度的(孩子們)。
如何用linq做到這一點?
如果你有一個XML剛剛生成的XSD.EXE XSD,然後生成類(也XSD.EXE)。然後,您可以使用xmlserializer將您的xml序列化爲您生成的類結構。 – 2014-12-04 12:52:22
第一個深度標籤元素是否是view元素的子元素?然後按照下面Ben的說法做... – helb 2014-12-04 12:53:32
如果你只是想''的直接子代,那麼使用'xmlElement.Elements(「tag」)'而不是'Descendants()'。 –
2014-12-04 12:53:43