正则表达式或XML解析器C#

ini*_*iki 1 c# regex xml

我有一些单词模板(点/点)文件,包含xml标签和纯文本.
在运行时,我需要将xml标记替换为各自的邮件合并字段.

因此,需要解析这些xml标记的文档并将其替换为合并字段.我正在使用Regex来查找和替换这些xml标签.但我被建议使用XML解析器来解析XML标记([正则表达式包含在<*>,C#中的字符串).

示例文档如下所示:

Solicitor Letter

<Tfirm/>
<Tbuilding/>
<TstreetNumber/> <TstreetName/>

For the attention of: <TContact1/> <TEmail/>


Dear  <TContact1/>

RE: <Pbuilding/> <PstreetNumber/> <PstreetName/> <Pvillage/> <PTown/>

We were pleased to hear that contracts have now been exchanged in the sale of the 
above property on behalf of our mutual client/s.  We now have pleasure in enclosing a 
copy of our invoice for your kind attention upon completion.

....
Run Code Online (Sandbox Code Playgroud)

还有一点需要注意,尖括号是由最终用户在模板中手动输入的.

我尝试使用XMLReader,但由于我的文档本身没有root标记,因此出错.

请指导我是否应该坚持使用正则表达式,或者是否有任何方法可以使用XML Parser.

谢谢!

Pet*_* H. 8

除非您可以将其结构化为XML文档,否则.NET库中用于读取XML的工具将完全无用.

你拥有的不是XML.有一个或两个符合XML条件的标记不是XML文档.问题是它根本不遵循任何XML规则.

故事的道德是你必须提出自己的方法来解析它.如果你喜欢喝RegEx kool-aid,那将是你最好的解决方案.当然,有很多方法可以给这只猫皮肤涂抹.