【发布时间】:2010-05-27 17:55:35
【问题描述】:
我正在尝试在字符串中查找完整的 XML 对象。它们已由XmlSerializer 放置在字符串中,但可能不完整。我玩弄了使用正则表达式的想法,因为它看起来像是它们的构建目的,除了我正在尝试解析 XML 的事实。
我正在尝试在表单中找到完整的对象:
<?xml version="1.0"?>
<type>
<field>value</field>
...
</type>
我的想法是用正则表达式来查找<?xml version="1.0"?><type> 和</type>,但是如果一个字段与type 同名,它显然是行不通的。
有很多关于 XML 解析器的文档,但它们似乎都需要一个完整的、格式完整的文档来解析。我的 XML 对象可以放在一个几乎被其他任何东西(包括其他完整对象)包围的字符串中。
hw<e>reR@lot$0fr@ndm&nchrs%<?xml version="1.0"?><type><field>...</field>...</type>@ndH#r$omOre!!>nuT6erjc?y!<?xml version="1.0"?><type><field>...</field>...</type>ty!=]
正则表达式能够匹配字符串,同时排除随机字符,但找不到 complete XML 对象。我想要一些方法来提取一个对象,用序列化器解析它,然后重复直到字符串不再包含有效对象。
【问题讨论】:
-
强制不要使用正则表达式解析 XML 链接:stackoverflow.com/questions/1732348/…
-
是的,我偶然发现了这一点。我正在寻找替代方案,但我需要匹配,而正则表达式是最好的解释方式。
标签: c# xml regex xml-serialization