【问题标题】:Get child element by name using XElement使用 XElement 按名称获取子元素
【发布时间】:2018-04-16 18:27:03
【问题描述】:

我有以下 xml 字符串

<Folder>
        <name></name>
        <Placemark>
            <name></name>
            <description></description>
            <styleUrl></styleUrl>
            <MultiGeometry>
                <Point>
                    <coordinates></coordinates>
                </Point>
                <LineString>
                    <coordinates></coordinates>
                    <tesselate>1</tesselate>
                </LineString>
            </MultiGeometry>
        </Placemark>
</Folder>

使用 XElement,有没有办法从 xml 字符串中提取 Point 元素,而不必遍历它的父节点? (多几何

【问题讨论】:

  • “遍历其父节点”究竟是什么意思,为什么要避免这样做?
  • 是的,请参阅:dotnetfiddle.net/Mtqjm5
  • @EdPlunkett 原因是,xml 字符串可以有不同的结构,Point 元素可以在任何位置。

标签: c# xml linq-to-xml


【解决方案1】:

如果数据加载到有效的 XElement 中,您可以使用 Descendants

例如

var xElement = XElement.Load(path);
var points = xElement.Descendants("Point");
var point = points.FirstOrDefault();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    相关资源
    最近更新 更多