【问题标题】:Strip Out XML from string从字符串中去除 XML
【发布时间】:2017-05-24 08:59:44
【问题描述】:

我正在调用一些 XMLRPC API,但有时我会收到一些“脏”的响应。脏响应意味着与 XML 一起返回一些其他内容/html,例如:

<div>Some Html maybe> Or some additional string is here
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodResponse>
   <params>
      <param>
         <value><int>30</int></value>
      </param>
   </params>
</methodResponse>

我需要一种方法来丢弃任何不是 XML 的东西,并从字符串响应中读取 XML,所以从上面的响应中我只能得到:

<?xml version="1.0" encoding="ISO-8859-1"?>
<methodResponse>
   <params>
      <param>
         <value><int>30</int></value>
      </param>
   </params>
</methodResponse>

如果有人提供只清理 HTML 并且至少只留下 XML 的代码,那将是有帮助的。首选 C# 代码

【问题讨论】:

  • 格式良好的 HTML 将作为 XML 进行验证,因此删除 XML 响应中没有的任何元素可能会更容易(即methodResponseparams 等)
  • 你能显示给你"dirty" response的代码

标签: c# regex xml asp.net-mvc xml-rpc


【解决方案1】:

尝试使用this 的变体或可能使用XSLT 来过滤您从API 返回的响应,类似于this。在过滤XML 时,XSLT 实际上是非常强大的东西。我知道 Visual Studios 不支持XSLT V.2,但如果您可以在另一个编辑器中使用V.2,它会非常有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多