草庐IT

emacs-for-python

全部标签

python - lxml 创建没有根元素的 XML 片段?

是否可以使用lxml(或内置的etree库)创建一个表示xml片段的对象,但包含两个(或更多)不相交的树(即每棵树都有自己单独的根,但它们没有共同点祖先)?也就是说,是否可以在不创建另一个元素来容纳它们的情况下表示以下内容:我在lxml文档中看不到任何允许这样做的内容,而且stackoverflow似乎没有任何直接的要点。这里的用例是我以编程方式生成xml,片段将组合成一个文档以供输出。我想要一个不需要迭代的对象/特殊情况,只需将其传递给lxml方法,就好像它是一棵合适的树一样。(我知道这样的片段本身不会是一个完整和正确的xml文档;我想在组装成这样的文档之前存储中间产品)。

xml - 将属性添加到由 SQL FOR XML 路径创建的元素节点

我正在尝试匹配SQLServer2008TSQL查询中的一些XML输出。我正在匹配的XML可以返回项目列表。列表由属性名称标识-而不是节点名称。XML路径函数将返回一个包装器节点,但我找不到向该节点添加任何属性的方法。在我的例子中,它们将是基于我正在运行的表名的硬编码值,它们是根据它们选择的。我在其中将“x”作为“x”,以将两个列表分开。在我的实际数据中,这不是问题,因为它们位于不同的节点中。问题只是如何将属性添加到“列表”节点。这是一个SQLFiddlepagefortheexamplebelow:示例架构createtableTable1(Valuevarchar(50));cre

python - 在 Python 中,如何引用包含连字符的 XML 标记

我正在尝试使用BeautifulSoup来解析XML文件。其中一个元素中有一个连字符:distribution-code我如何访问它?我试过:soup.distribution-codesoup."distribution-code"(triedsinglequotestoo)soup.[distribution-code]但这些都不起作用。 最佳答案 您可以使用常规Python语法通过属性引用访问非连字符元素,即obj.name,但是,-不是使用该语法时的有效字符(Python将其视为“减号”运算符),因此您无法通过该方法访问此类

python - 如何获取平面 XML 以便将外部实体合并到顶层

我知道这是一个边界案例,无论它真的属于stackoverflow还是super用户,但似乎这里有很多“编辑代码”问题,我将其发布在SO上。我有一堆XML文件,有人以其无限的智慧决定使用标签将其分解为多个文件,结果使调试/编辑它们成为一个巨大的P-i-t-A。因此,我正在寻找:在VIM中在单个缓冲区中打开它们的方法(最好将更改保存在正确的外部实体文件中),或者;一种在VIM中扩展文件以便在缓冲区中读取和替换外部实体的方法,或者;一种在命令行(或.vimrc中)执行此操作的简单bash/sed/python方法顶层包含的文件可能包含新文件等等谁知道有多少层所以这需要递归...这是顶层文件的

Python:xml.dom.minidom 空 nodeValue 非空 toxml() 值

我有一行获取节点的节点值:parent.getElementsByTagName("Url")[0].nodeValue什么都不返回:当我这样做时:parent.getElementsByTagName("Url")[0].toxml()它返回:www.something.com我不确定这里发生了什么。另一个数据点:当我执行nodeName而不是nodeValue时,它​​会按预期返回Url。有什么想法吗? 最佳答案 试试这个:parent.getElementsByTagName('Url')[0].childNodes[0].n

python - 在 Suds python 中覆盖 Soap Envelope

我有一个摄像头,我正在尝试连接到它以防SOAP水。我尝试发送原始xml,发现唯一阻止xml泡沫工作的是不正确的Soap信封命名空间。信封命名空间是:xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"我想将其重写为:xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"为了在python中添加命名空间,我尝试了以下代码:message=Element('Element_name').addPrefix(p='SOAP-ENC',u='www.w3.org/ENC')

Python:xml ElementTree(或 lxml)中的命名空间

我想检索遗留的xml文件,操作并保存它。这是我的代码:fromxml.etreeimportcElementTreeasETNS="{http://www.somedomain.com/XI/Traffic/10}"deffix_xml(filename):f=ET.parse(filename)root=f.getroot()eventlist=root.findall("%(ns)Event"%{'ns':NS})xpath="%(ns)sEventDetail/%(ns)sEventDescription"%{'ns':NS}foreventineventlist:desc=ev

Python xml 编码

我正在学习Python,我的背景是JavaEE。我以前使用过JAXB,我基本上可以在其中定义一个常规类,在其中添加一些注释,然后使用JAXB将对象编码到xml。这意味着我不关心创建根元素、节点等,而只是编写Java类并在各处对其进行注释。Python有这样的东西吗? 最佳答案 这里有一些:lxml.objectifygnosis.xml.objecitypyxser看起来很酷PickletoXML-使用Python的pickle和xml.dom.minidompyxml-fromxmlimportmarshal(可能有问题)Amar

python - 如何获取命名空间元素的属性

我每天都在解析从供应商那里收到的XML文档,它大量使用了命名空间。我已将问题最小化为此处的最小子集:我需要解析一些元素,所有这些元素都是具有特定属性的元素的子元素。我能够使用lxml.etree.Element.findall(TAG,root.nsmap)找到我需要检查其属性的候选节点。然后我尝试通过我知道它使用的名称来检查这些Elements中每一个的属性:这里具体是ss:Name。如果该属性的值是所需的值,我将更深入地研究上述Element(以继续做其他事情)。我该怎么做?我正在解析的XML大致是......................我找到了我想要的第一个元素Somethi

xml - 嵌套的 XML XSL for-each 循环

我无法读出嵌套的for-each循环。由于某种原因,它不会在直接节点下循环。问题似乎出在标签上。我的第一个循环发生在我打开表格后,我循环遍历整个表格以获取管理报告,并将第二个节点嵌套在它下面。这很好用,但是当我在下面嵌套其他节点时,我能够提取值,但不是特定于父节点的。这次练习让我的眼睛布满血丝,有人可以帮忙吗?提前致谢。XSL:DataSourceName:PartInformation:InspectionProgramID:AreaInformation:XML: 最佳答案 你正在做的事情对于你想要实现的目标来说是错误的:Par