草庐IT

python-server-pages

全部标签

python - 如何使用任何 xml 库替换节点的全部内容?

我正在尝试使用Python解析xml文件,但我有一些标签可能包含xml数据。例如:我想这样写CDATA标签:]]>我试过(使用lxml):a=etree.fromstring(data)foreina.findall("code"):e.text=etree.CDATA(etree.tostring(e))但是我得到:]]> 最佳答案 您的替换代码找到了元素并将其序列化为元素的新文本​​。您似乎只想包含的子元素,虽然。尝试设置e.text至CDATA(e.text)而不是序列化e的结果.

sql - 使用 SQL Server 2005 XML API 规范化 XML 片段

我有一些(未类型化的)XML存储在SQLServer2005中,我需要将其转换为规范化结构。当前文档的结构如下所示:我想把它改成这样:如果需要,我可以将XML选择为关系结构,问题是没有将父节点和子节点链接在一起的属性,因此在使用基于集合的操作时顺序成为问题。我如何使用.nodes()/.value()/其他SQLServerXMLAPI来转换此数据?转换需要作为批处理SQL脚本的一部分运行,因此将其提取到另一种工具/语言中对我来说不是一个合理的选择。 最佳答案 实际上-以下代码有效(此处分组可能不是最佳选择,但无论如何):decla

sql-server - 在 SQL 数据库中存储 xml

我必须将XML内容存储在SQLServer2008R2数据库中。XML不是一个完整的文件,它只包含简单的元素。我创建了一个包含[xml]类型列的表,但是当我尝试在其中存储项目时出现错误。例如,如果我尝试存储这个(简化的)项目:urn:adv:oid:DESHPDHK0000u2xK1300我收到错误(已翻译):Msg9459-XMLparsing:line1,character35,undeclaredprefix.我想这是缺少命名空间,但我不想将所有可能的命名空间添加到我的数据库中的每个项目。有没有办法在不更改XML的情况下解决这个问题?稍后我需要能够访问和比较原始XML,因此如果可

python - 如何输出 XML 实体引用

我正在使用Pythonxml.etree.ElementTree输出XML。我想用实体引用输出它,这些实体引用将在解析XML时被替换。通常'&'被转义为&因为'&'用于声明实体引用。但是,我真的想写一个实体引用。例如,我想编写一个包含实体引用&manifestName;的XML文件:>>>fromxml.etree.ElementTreeimportElement,tostring>>>manifest=Element('manifest')>>>manifest.text='&manifestName;'>>>tostring(manifest)返回一个转义的符号:'&man

python - 使用 lxml 有效地计算非常大的 XML 文档中的元素

我有一个非常大(1.8GB)的XML文档。我想简单地找到带有标签的元素数量.我已经做到了:context=etree.iterparse('./test.xml',tag='Product')num_elems=0forevent,elemincontext:num_elems+=1printnum_elems它有效,但是有没有更快的方法呢? 最佳答案 因为这有效,我认为内存使用不是问题(iterparse将在内存中构建整个文件的树,除非您在迭代时修剪它要素)。在那种情况下,省去在Python中迭代和计数的麻烦,让LXML/libx

python - 当输入开始标记时,lxml 的解析器目标不会立即触发 'start' 回调

我试图使用lxml的parsertargetinterface逐步将XML解析为“自定义”树,我遇到了以下问题:如果您实例化解析器并立即将根元素的开始标记提供给它,则目标的“开始”回调不会触发,直到任何其他事件发生(例如传入数据、结束标记、另一个开始标记等)。这似乎不会发生在任何其他(嵌套)元素上。演示:classEchoTarget(object):defstart(self,tag,attrib):print("start%s%s"%(tag,attrib))defend(self,tag):print("end%s"%tag)defdata(self,data):print("d

sql-server - 格式化 SELECT..FOR XML 语句中返回的日期时间值

考虑下表:订单OrderIdDateCustomerId10002012-06-0520:03:12.0005110012012-06-1612:02:31.1704810022012-06-1819:45:16.00033当我使用FORXML提取订单数据时:SELECTOrderIdAS'Order/@Order-Id',DateAS'Order/ShipDate',CustomerIdAS'Order/Customer'FROMOrdersWHEREOrderId=1000FORXMLPATH('')我得到以下结果:2010-02-20T16:03:1251问题是,XML文件中的S

sql-server - TSQL 中的 XML 解析给出无效列错误?

我正在尝试解析一个简单的XML文件。一旦我取消注释插入语句,它就会给我无效的列错误。droptable#TEMPdroptable#TEMP_Tdeclare@XMl_DATAASXMLset@XMl_DATA='GAS_FLOW_START_DATEGASFLOWSTARTDATE01/01/2012EX_CTRCT_CO_IDEXCLUDEGID(S)GAS_FLOW_END_DATEGASFLOWENDDATE01/31/2012EX_CTRCT_NBREXCLUDECONTRACTNUMBER(S)CTRCT_CO_IDGID(S)EX_RATE_CMPNT_CDEXCLUDE

使用正则表达式的 Python XML 重建

我有这个部分XMLstring='''someValuesomeValue'''现在我想“傻傻地”修复一下。我想到了一种方法-对所有开始元素和结束元素进行正则表达式-->检查缺少哪个元素并添加它。当然,不要涉及太多细节。到目前为止我得到的是(这不起作用):importrestarts=re.compile('(?)|(?)')print(start.findall(string))我期望的是x:root、x:tag2、x:tag3的列表我一直在谷歌上搜索并尝试了很多,但找不到答案。我从这个表达式中得到的唯一东西是x:root、x:tag1、x:tag3。请帮忙谢谢

python - 从 MediaWiki 的 API 维基文本中提取 Python 中的模板参数

有没有办法从MediaWikia的API中提取部分文本?例如,此链接将所有内容转储为XML格式:http://marvel.wikia.com/api.php?action=query&prop=revisions&titles=All-New%20X-Men%20Vol%201%201&rvprop=content&format=xml但是它没有太多的结构,即使是json格式。我想获取Writer1_1、Penciler1_1等的文本。也许我的参数不正确,所以也许还有其他选择输出。您可以以更易读的方式查看内容here. 最佳答案