草庐IT

栈空间

全部标签

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

c# - 使用 System.Xml.Linq 命名空间的显式元素结束标记

我正在使用(.NET3.5SP1)System.Xml.Linq命名空间用数据的div标记填充html模板文档(然后将其保存到磁盘)。有时div标签是空的,这对于HTML来说似乎是个问题。根据我的研究,DIV标签不会自动关闭。因此,至少在Firefox下,一个被认为是没有匹配的结束标记的开始div标记。因此,当我通过声明创建新的div元素时:XElementdivTag=newXElement("div");如何强制生成的XML为而不是? 最佳答案 我不确定为什么你会得到一个空的DIV(看起来有点毫无意义!)但是:divTag.Se

javascript - 如何使用 Javascript 删除 XML 命名空间?

我发现,就我的目的而言,XMLnamespace只会引起很多麻烦,而且完全没有必要。(例如,它们如何使xpath复杂化。)是否有一种简单的方法可以从XML文档中完全删除namespace?(有一个相关的问题,但它涉及删除标签上的namespace前缀,而不是文档根目录中的namespace声明:“EasywaytodropXMLnamespaceswithjavascript”。)编辑:下面的示例和更多详细信息:XML:truefalseJavaScript:functionuseHttpResponse(){if(http.readyState==4){if(http.status=

xml - Builder gem 中的命名空间属性

我正在尝试使用buildergem在RubyonRails应用程序中构建此示例:1033199434我可以生成一个带有命名空间的标签,如下所示:xml=Builder::XmlMarkup.newxml.ngp:contactGet...但我无法在该标记内获取属性。我认为xml.ngp:contactGet("xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance""xmlns:ngp"=>"http://www.ngpsoftware.com/ngpapi"会起作用,但不起作用。请帮忙! 最佳答案

c# - 在解析期间设置命名空间

您好,我目前在解析不带任何namespace的Xml字符串并将其添加到具有namespace的现有XElement时遇到问题。我的代码:XElementelem=root.Element(xs+"methodCall");if(elem!=null){XElemente=XElement.Parse(this.MethodCallXML);elem.Add(e);}结果:espSessionState1truehttp://uri1false我的问题是xmlns=""我无法弄清楚如何使用解析方法创建节点并为其提供默认namespace以供使用。有什么办法吗?

.net - 从 XSLT 输出根中删除 XML 命名空间声明?

具有以下输入XML:和XSLT:我得到以下输出XML:如何从根元素中删除namespace声明? 最佳答案 在XSLT2.0中你可以使用 关于.net-从XSLT输出根中删除XML命名空间声明?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15318812/

c# - 如何添加xml命名空间

这个提要(它的片段)需要看起来完全像这样:我要向此C#代码添加什么以添加额外的xmlns、xsi垃圾:writer.WriteStartDocument();writer.WriteStartElement("AmazonEnvelope");如果没有它,此提要将被拒绝-- 最佳答案 试试这个:writer.WriteStartElement("AmazonEnvelope");writer.WriteAttributeString("xmlns","xsi",null,"http://www.w3.org/2001/XMLSche

c# - 通过 XPathSelectElements 获取具有命名空间的 XElement

我有一个XML例如这是示例代码:varxDoc=XDocument.Load("Test.xml");stringxPath="//B2/C3/D4";//orstringxPath="//B2/C3/D4[@id='1']";vareleList=xDoc.XPathSelectElements(xPath).ToList();foreach(varxElementineleList){Console.WriteLine(xElement);}它工作得很好,但如果我将命名空间添加到根节点A1,此代码将不起作用。在搜索解决方案时,我找到了thisone,但它使用Descendants(

xml - 读取包含命名空间 PowerShell 的 XML 文件

全部,我正在尝试从AzureCloudServiceDefinitionxml文件或AzureCloudServiceConfigurexml文件中读取Role信息。但发现XPath对他们不起作用。两个xml文件都包含命名空间。默认情况下,命名空间没有别名。如果我将别名添加到它。VisualStudio会提醒我这是不允许的。假设您有如下定义。XmlPath是/ServiceDefinition/WebRole/@vmsize。我在XPathonlinetools中测试了它.而且它也无法为我获得正确的值(value)。有什么方法可以使这个XPath工作吗? 最