首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找没有引号的html属性,并将它们添加回

查找没有引号的html属性,并将它们添加回
EN

Stack Overflow用户
提问于 2013-11-21 16:02:41
回答 2查看 1.1K关注 0票数 0

我有一个项目,我要把内容从CMS输出到XML中。我没有完全控制CMS的内容,我们现在有一个问题,就是某些内容不完全符合XML

代码语言:javascript
复制
    <Block PageGuid="xxx" PageId="1234" PageType="block" PageName="blockpage" PageUrl="/en/New-Folder7/New-Folder8/" CreateBlock="false">
  <Properties>
    <Property PropertyName="EmbedCode" Ignore="false" DefaultLanguageChanged="true" TranslatedChanged="true">
      <DefaultLanguage><DIV id=TA_sss class=TA_sss><UL id=sdfsdfsdfsdf class="TA_links xx"><LI id=sdfsdfsf class=sdfsfsf><A href="http://www.tripadvisor.co.uk/">xxxxxxxxx</A></LI></UL></DIV><SCRIPT src="http://www.jscache.com/"></SCRIPT></DefaultLanguage>
      <Translation><DIV id=TA_sss class=TA_sss><UL id=xxxx class='TA_links xxx'><LI id=xxxx class=xxxx><A href='http://www.tripadvisor.co.uk/'>xxxxxxxxx</A></LI></UL></DIV><SCRIPT src='http://www.jscache.com/'></SCRIPT></Translation>
      <PreviousValues>
        <PreviousDefaultText></PreviousDefaultText>
        <PreviousTranslationText></PreviousTranslationText>
      </PreviousValues>
    </Property>
  </Properties>
</Block>

参见上面的XML..。我需要找到任何情况下,我有一个属性与一个缺失的引号,并添加了in:

如果它们是单引号,则用双引号替换。

http://www.tripadvisor.co.uk/'>

我把整个XML都放在一个字符串中,所以我希望有一个Regex可以用来完成这个任务?

我的解决方案:

代码语言:javascript
复制
            var reader = new StringReader(xml);
        var sgmlReader = new Sgml.SgmlReader
                             {
                                 DocType = "HTML",
                                 WhitespaceHandling = WhitespaceHandling.All,
                                 CaseFolding = Sgml.CaseFolding.ToLower,
                                 InputStream = reader
                             };
        var doc = new XmlDocument { PreserveWhitespace = true, XmlResolver = null };
        doc.Load(sgmlReader);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-21 16:13:43

我过去曾使用https://github.com/MindTouch/SGMLReader来解决类似的问题。很有魅力(YMMV)。

票数 3
EN

Stack Overflow用户

发布于 2013-11-21 16:22:16

你可以试试Html敏捷包。引用你可能感兴趣的部分:

代码语言:javascript
复制
'The parser is very tolerant with "real world" malformed HTML'

代码语言:javascript
复制
'Sample applications: Page fixing or generation'

那你就去吧。加载XML,生成一个“适当的”呈现,然后传递它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20125891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档