草庐IT

Python应用领域

全部标签

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

xml - SVG:将掩码应用于路径组 <g> 标记

我在将层应用于路径组时遇到问题。当我将我的应用到时,它​​按预期工作,但是当在上使用它时,整个组都消失了。这是我的文档s-->s-->我也尝试过使用clip-path的类似方法,结果相同-使用但不使用。我还尝试将mask属性应用于具有相同结果的单个元素感谢任何帮助 最佳答案 我严重怀疑这个问题是否仍然有效,但我想我还是会在这里为其他任何人提供答案。要同时屏蔽一组元素,请将它们全部包含在中堵塞。然后你有几个选择:EasyStyle:设置所有元素的不透明度如果您对整个组的不透明度或其他转换感到满意,请提供元素类或ID,并相应地设置CSS

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

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

xml - 在已创建的菜单上应用组

我开发了一个新模块,并在该模块中创建了一个.xml文件中的组。现在我想在已经在其他菜单中创建的菜单中应用该组。那么我可以将组应用于这些菜单吗?我不想覆盖菜单,我只想在已经创建的菜单中应用组。提前致谢。 最佳答案 将组添加到现有菜单是通过正常的OpenERP记录更新机制完成的。您实际上不必完全重新定义模块中现有的菜单记录,您只需声明一个具有相同的ID,只有groups_id的值领域:您可以在官方OpenERP插件中找到类似的示例,例如制作顶级Sales菜单的CRM模块visibletosomeextragroups(l.48).

python - 如何在 Python 中使用 ElementTree 删除 xml 中的节点?

我已阅读remove示例here和示例here不适用于我。我的xml文件是这样的:sometextothertextmoretext我想做的是删除第二个从xml。我不知道它包含什么文本。但是我有的索引,假设index=1,这意味着我要删除第二个元素(或节点)。我有这样的代码:F=open('example.xml')self.tree=parse(F)self.root=self.tree.getroot()F.close()所以在这种情况下,我要删除的是self.root[1].这如何使用ElementTree实现?编辑:使我的问题更加清晰和具体。 最佳答