【发布时间】:2016-10-16 01:50:25
【问题描述】:
我有许多文件“.txt”文件,文件中有通常的文本和 xml 标签。文件非常大,文件数量非常多。所以我只想拿没有文本的xml。我知道
标签从<body> 开始,以</body> 结束。我只需要<body> 和<body> 中的所有嵌套标签
文件示例:
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
<body>
...
</body>
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
<body>
...
</body>
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
<body>
...
</body>
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
exampleTextexampleTextexampleTextexampleTextexampleTextexampleText
我尝试使用XDocument doc = XDocument.Parse(str);,但出现异常:
根级别的数据无效。第 1 行,位置 1。
【问题讨论】:
-
由于整个文件不是 XML,因此您无法将其解析为 XML。您需要手动解析正文标签。
-
@AlG 通过正则表达式获得更好的性能?
-
小建议,阅读每一行,当你点击时你是inTag,而inTag提取xml,当你点击标签时改变inTag = false。
-
您确定
<body>和</body>之间的内容是格式正确、有效的xml吗? -
在
<body>标签之外的其余文本中是否有任何 XML 特定字符(如<、>等)?