很多类似的线程并不是我想要的,或者它们处理的是 Linq。我正在使用.NET 2.0
我有一个更像模板的 XML 文件。我需要将 XML 写入另一个文件,但我需要它来引用模板 XML 文件以进行初始格式设置。
像这样:
我的模板文件:
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/2006/04/ttaf1" xmlns:tts="http://www.w3.org/2006/04/ttaf1#styling" xml:lang="en">
<head>
<styling>
<style id="s1" tts:fontFamily="SchoolHouse Cursive B" tts:fontSize="16" tts:fontWeight="normal" tts:fontStyle="normal" tts:textDecoration="none" tts:color="white" tts:backgroundColor="blue" tts:textAlign="center" />
<style id="s2" tts:fontFamily="SchoolHouse Cursive B" tts:fontSize="16" tts:fontWeight="normal" tts:fontStyle="normal" tts:textDecoration="none" tts:color="yellow" tts:backgroundColor="black" tts:textAlign="center" />
</styling>
</head>
<body id="s1" style="s1">
<div xml:lang="uk">
<p begin="00:00:00" end="00:00:04">Hi! </p>
<p begin etc............</p>
</div>
</body>
</tt>
我需要阅读第一部分<p begin="00:00:00" end="00:00:04">Hi! </p>
(不包括该行)。我需要进入任何 .NET 类型,以便可以将其传递给将它们写入另一个 XML 文件的函数。
注意:我不想逐个节点或逐个元素地读取模板 XML 文件。我想要一个通用的解决方案,因为 XML 的初始部分可以是任何东西。
我试过了:
XmlTextReader reader = new XmlTextReader(templateFile);
var list = new Something(); //what type would be ideal
while (reader.Read())
{
if (reader.LocalName == "p")
break;
if (reader.LocalName == "")
continue;
list.Add(??);
//how do I read the rest here?
}
我怎么能写出同样的东西?