XML/HTML 解析は初めてです。重複を適切に検索するための正しい単語さえ知りません。
次のような HTML ファイルがあります。
<body id="s1" style="s1">
<div xml:lang="uk">
<p begin="00:00:00" end="00:00:29">
<span fontFamily="SchoolHouse Cursive B" fontSize="18">I'm great!</span>
</p>
今00:00:00
、私は00:00:29
それI'm great!
から必要です。私はそれを次のように読むことができました:
XmlTextReader reader = new XmlTextReader(file);
while (reader.Read())
{
if (reader.NodeType != XmlNodeType.Element)
continue;
if (reader.LocalName != "p")
continue;
var a = reader.GetAttribute(0);
var b = reader.GetAttribute(1);
if (reader.LocalName == "span")
{
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlNode elem = doc.DocumentElement.FirstChild;
var c = elem.InnerText;
}
}
変数a
、b
およびで値を取得しますc
。ただし、HTML 形式に若干の変更がありました。HTML は次のようになります。
<body id="s1" style="s1">
<div xml:lang="uk">
<p begin="00:00:00" end="00:00:29">I'm great! </p>
このシナリオでは、どのように00:00:00
, 00:00:29
andを解析しI'm great!
ますか? 私はこれを試しました:
XmlTextReader reader = new XmlTextReader(file);
while (reader.Read())
{
if (reader.NodeType != XmlNodeType.Element)
continue;
if (reader.LocalName != "p")
continue;
var a = reader.GetAttribute(0);
var b = reader.GetAttribute(1);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlNode elem = doc.DocumentElement.FirstChild;
var c = elem.InnerText;
}
しかし、次のエラーが表示されます: This document already has a 'DocumentElement' node.
at line doc.Load(reader)
. 正しく読む方法と問題の原因は何ですか? .NET 2.0 を使用しています