-3

我想搜索我的 xml 文件。结构如下所示:

<AForetag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Place ID="1006">
        <Foretag>
            <Epost>info@abc123.se</Epost>
            <Namn>Abe</Namn>
            <Ort>Abc123</Ort>
            <Adress>Abc123</Adress>
            <Postnummer>Abc123</Postnummer>
            <Landskap>Abc123</Landskap>
            <Telefon>Abc123</Telefon>
            <Medlemskap>Abc123</Medlemskap>
        </Foretag>
        <Foretag>
            <Epost>def456</Epost>
            <Namn>def456</Namn>
            <Ort>def456</Ort>
            <Adress>def456</Adress>
            <Postnummer>def456</Postnummer>
            <Landskap>def456</Landskap>
            <Telefon>def456</Telefon>
            <Medlemskap>def456</Medlemskap>
        </Foretag>
    </Place>
</Aforetag>

我想搜索 Element <Landskap>。如果我得到并匹配,我应该选择所有其他元素,Epost、Namn、Ort、Adress、Postnummer、Landskap、Telefon 和 Medlemskap。我想放入数组中的信息。

我试过这个:

var aforetag = from foretag in doc.Descendants("Place")
                       where foretag.Attribute("ID").Value == "1006"
                       select foretag;


var landskap = aforetag.Elements("Foretag")
                       .Descendants()
                       .Where(x => x.Element("Landskap")
                       .Value
                       .Contains(s)
                       .Descendants()
                       .Select(c => (string)c)
                       .ToArray();
4

2 回答 2

0
var landskap = aforetag.Elements("Foretag")
                       .Where(e=>e.Element("Landskap").Value.Contains(s))
                       .Select(e=>e.Elements().Select(x=>x.Value).ToArray());
//the result is an IEnumerable<string[]> for the matched keyword s
于 2013-10-15T08:57:15.690 回答
0

您的代码格式不正确。将其复制到VS中,有一些错误,修复一个和多个错误!...

最重要的是,您的 XML 不是 XML,因为开始和结束标记甚至不匹配!另外,还有其他问题。

解决所有这些问题,我相信它会有所帮助。

于 2013-10-15T09:13:51.243 回答