当前位置: 首页 > news >正文

dw用设计视图做网站网站关键词排名服务

dw用设计视图做网站,网站关键词排名服务,免费下载应用市场,盐城做百度网站在 ElementTree 中,你可以使用 Element 对象的方法来创建新的标签,并将其嵌入到现有的 XML 结构中。下面是一个简单的示例,演示了如何在 ElementTree 文本中嵌入新的标签: 1、问题背景 我正在使用Python ElementTree模块来处理HT…

在 ElementTree 中,你可以使用 Element 对象的方法来创建新的标签,并将其嵌入到现有的 XML 结构中。下面是一个简单的示例,演示了如何在 ElementTree 文本中嵌入新的标签:

在这里插入图片描述

1、问题背景

我正在使用Python ElementTree模块来处理HTML。我想强调某些单词,我目前的解决方案是使用一个循环来遍历tree.getiterator()中的每个元素,然后分别处理’text’和’tail’属性。如果找到要强调的单词,就把它替换为带有标签的相同单词。

但是,这种方法存在两个问题:

  • 它在text属性中嵌入了HTML标签,当渲染时会被转义,因此我需要用代码对标签进行反转义。
  • 它需要移动’text’和’tail’属性,以便强调的文本出现在相同的位置。当我们像上面那样迭代时,这将非常棘手。

2、解决方案

方法一:使用XSLT和自定义XPath函数

from lxml import etreestylesheet = etree.XML("""<xsl:stylesheet version="1.0"xmlns:btest="uri:bolder"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="@*"><xsl:copy /></xsl:template><xsl:template match="*"><xsl:element name="{name(.)}"><xsl:copy-of select="@*" /><xsl:apply-templates select="text()" /><xsl:apply-templates select="./*" /></xsl:element></xsl:template><xsl:template match="text()"><xsl:copy-of select="btest:bolder(.)/node()" /></xsl:template>         </xsl:stylesheet>
""")glossary = ['some', 'bold']def bolder(context, s):results = []r = Nonefor word in s[0].split():if word in glossary:if r is not None:results.append(r)r = etree.Element('r')b = etree.SubElement(r, 'b')b.text = wordb.tail = ' 'results.append(r)r = Noneelse:if r is None:r = etree.Element('r')r.text = '%s%s ' % (r.text or '', word)if r is not None:results.append(r)return resultsdef test():ns = etree.FunctionNamespace('uri:bolder') # register global namespacens['bolder'] = bolder # define function in new global namespacetransform = etree.XSLT(stylesheet)print str(transform(etree.XML("""<html><head></head><body><p>here is some text to bold</p><p>and some more</p></body></html>""")))if __name__ == "__main__":test()

方法二:使用DOM解析器

from xml.dom import minidom
import rews_split = re.compile(r'\s+', re.U).splitdef processNode(parent):doc = parent.ownerDocumentfor node in parent.childNodes[:]:if node.nodeType==node.TEXT_NODE:words = ws_split(node.nodeValue)new_words = []changed = Falsefor word in words:if word in glossary:text = ' '.join(new_words+[''])parent.insertBefore(doc.createTextNode(text), node)b = doc.createElement('b')b.appendChild(doc.createTextNode(word))parent.insertBefore(b, node)new_words = ['']changed = Trueelse:new_words.append(word)if changed:text = ' '.join(new_words)print textparent.replaceChild(doc.createTextNode(text), node)else:processNode(node)

我希望这些解决方案对您有用。

在这个示例中,我们首先创建了一个根元素 root,然后创建了一个子元素 child,并设置了其文本内容。接着,我们创建了一个新的标签 new_tag,并将其嵌入到子元素 child 中。最后,我们将整个 XML 结构写入到文件中。

运行以上代码后,将会生成一个名为 example.xml 的文件,其内容如下:

<root><child>This is some text.<new_tag>New tag content</new_tag></child>
</root>

这就是如何在 ElementTree 文本中嵌入新的标签。你可以根据自己的需求和数据结构,使用类似的方法来创建和嵌入标签。

http://www.tj-hxxt.cn/news/88927.html

相关文章:

  • 网站登录密码怎么取消保存上海建站seo
  • 谈谈你对网站开发的理解2023年10月疫情还会严重吗
  • 成都营销网站建设世界十大搜索引擎排名
  • 网站建设美词原创fifa最新排名出炉
  • 遂溪 网站产品营销推广方案
  • 长沙专业建网站公司搭建网站的步骤
  • 专门做游戏交易的网站有哪些台州seo优化公司
  • 网站统计帮哪个好属于b2b的网站有哪些
  • 安庆什么网站做火产品营销
  • 传媒公司网站制作做网站需要什么技术
  • 网站建设公司 长春seo页面优化技术
  • 网站推广律师关键词有哪些网络营销工具有哪些?
  • 盗版网站怎么做的百度词条官网入口
  • 国内做任务得数字货币的网站现在做百度推广有用吗
  • 订做网站策划深圳网络营销渠道
  • 制作网站的免费软件怎么提高关键词搜索排名
  • win7 iis 发布asp.net网站建网站要多少钱
  • 广州大石附近做网站的公司哪家好搜一下百度
  • vc 做网站源码近期的新闻消息
  • 网络公司注册多少钱seo哪里有培训
  • 建设党建网站费用支出怎么列手机优化软件排行
  • 做任务领黄钻的网站seo经验是什么
  • 高端响应式网站百度公司简介介绍
  • 网站建设的申请私人浏览器
  • 电商美工接单平台网络seo优化推广
  • 个人申请免费企业邮箱网络推广seo教程
  • 专门做隐形眼镜的网站游戏推广合作
  • 本地郑州网站建设seo优化技术教程
  • wordpress 文章阅读数小程序seo
  • 上海网站排名优化怎么做软文广告经典案例