【发布时间】:2013-02-06 23:00:27
【问题描述】:
例子:
...some string content here...
<test>
<a>
...something...
</a>
<a/>
{position 1}
<b>{position 2}
<c>
...something else...
{position 3}
</c>
<c/>
<d>
<e/>
{position 4}
<e>
...another thing here...
{position 5}
</e>
</d>
{position 6}
</b>
{position 7}
...more xml and other sting content...
我需要在(例如)位置找到父封闭元素 上面指定的。
结果将是:{position 1} = test {position 2} = b {position 3} = c {位置 4} = d {位置 5} = e {位置 6} = b {位置 7} = 测试
备注: - 没有任何元素标签名称是已知的 - 漏洞字符串可能包含非 xml 内容 - 数据量很大(>50MB 文本文件)
必须实施一种搜索技术,从给定位置开始向后读取,直到找到有效匹配项(如果有)。
感谢
【问题讨论】:
-
您使用什么语言?您是否可以选择将此字符串加载到 XML 对象中,然后执行查找父函数?这似乎是比正则表达式更顺畅的解决方案。
-
我知道的每种语言都有很棒的 xml 解析器或包装 libxml 等。如果数据量很大,请使用 expat 之类的流式解析器。
-
语言:C# 太大而无法加载,并且包含无效内容或不可接受的字符
-
另外,有些元素可能没有匹配的结尾...
-
为什么要解析无效的XML文件让我很困惑