-1

C#を含む:、または使用するファイルを解析できますか?/

次のエラーが表示されます。

タイプ 'System..Exception' の未処理の例外が System..dll で発生しました

追加情報: /16 進値の文字を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 に答える