-1

我可以解析包含:/使用 C# 的文件吗?

出现此错误:

System..dll 中出现“System..Exception”类型的未处理异常

附加信息:/字符,十六进制值0x2F,可以包含在名称中。

当我解析这个文件时:

<profile>
    <mini>
        <Album URI="http://dbpedia.org/ontology/Album">
            <predicate queryType="getObjects">http://dbpedia.org/ontology/abstract</predicate>
            <predicate queryType="getObjects">http://dbpedia.org/ontology/artist</predicate>
            <predicate queryType="getObjects">http://dbpedia.org/ontology/genre</predicate>
            <predicate queryType="getObjects">http://dbpedia.org/ontology/producer</predicate>
            <predicate queryType="getObjects">http://dbpedia.org/ontology/releaseDate</predicate>
        </Album>
       </mini>
</profile>
4

2 回答 2

1

我在您的 xml 中发现没有问题,下面的代码有效

XDocument xDoc = XDocument.Parse(xml);
var result = xDoc.Descendants("Album")
    .Select(n => new
    {
        Album = n.Attribute("URI").Value,
        Predicates = n.Elements("predicate").Select(p=>p.Value).ToArray()
    })
    .ToArray();
于 2012-06-23T17:48:12.433 回答
0

您可以使用LINQ2XML来解析 XML。

XElement xel = XElement.Load(filePath);
//you can even load the XML from a string/stream etc also....

if (xel != null)
{
    foreach (var mini in xel.Elements("mini"))
    {
        foreach (var album in mini.Elements("Album"))
        {
            string attrValue = album.Attribute("URI").Value;
            foreach (var predicate in album.Elements("predicate"))
            {                          
                string content = predicate.Value;
            }
        }
    }
}
于 2012-06-23T18:03:04.390 回答