草庐IT

栈空间

全部标签

c# - 如何读取具有命名空间的 XPathDocument

我有以下示例XML文件:SomeValue我加载它并尝试像这样阅读它:FileStreamstream=newFileStream(@".\TestXML.xml",FileMode.Open);XPathDocumentxPathDocument=newXPathDocument(stream);XPathNavigatornavigator=xPathDocument.CreateNavigator();XmlNamespaceManagerns=null;if(navigator.NameTable!=null){ns=newXmlNamespaceManager(navigat

c# - 在 XElement 上选择具有命名空间别名而不是 URI 的命名空间 XML 节点属性

我正在尝试从大量命名空间的XML文档中查询一些信息,但在查找同样命名空间的属性时遇到了一些问题。XML看起来像:...我的目标是创建一个包含国家代码和国家名称的对象列表。以下是现在对我有用的:XmlReaderreader=XmlReader.Create(@"path/to/xml.xml");XDocumentroot=XDocument.Load(reader);XmlNameTablenameTable=reader.NameTable;XmlNamespaceManagernsManager=newXmlNamespaceManager(nameTable);nsManage

XML 命名空间和无前缀属性

XML命名空间规范解释了theinterpretationofunprefixedattributesisdeterminedbytheelementonwhichtheyappear.那namespacenameforanunprefixedattributenamealwayshasnovalue:Thenamespacenameforanunprefixedattributenamealwayshasnovalue.在以下情况下,此规则如何应用于属性jid的命名空间。如果命名空间的声明和相关属性都没有前缀,则属性jid位于命名空间jabber:iq:roster中。如果两者,命名

c# - 读取具有多个命名空间的 XML 文件

我有一个包含多个命名空间的XML文件。但是我无法从任何节点获取值/文本。2.0OIOUBL-2.02Procurement-BilSim-1.0884812012-05-21380DKKZZ364332012-05-21我正在尝试读取一些节点,但我不能。这是一个例子。XmlDocumentdoc=newXmlDocument();doc.Load(@"C:\temp\88481.xml");XmlNamespaceManagermanager=newXmlNamespaceManager(doc.NameTable);manager.AddNamespace("cbc","urn:oa

c# - XML SelectNode() 不返回任何内容。为什么命名空间很重要?

我有获取根元素节点的代码:xmlNodes=rootElement.SelectNodes("DefinitionName");它不返回存在的节点。在调试器中,我可以展开rootElement以找到DefinitionName。显然,问题在于文件定义了命名空间(请参阅下面的XML)。MSDN说我必须做这样的事情才能让节点返回:注意:这与我的代码无关。这是来自MSDN的示例:XmlNamespaceManagernsmgr=newXmlNamespaceManager(doc.NameTable);nsmgr.AddNamespace("ab","http://www.lucernepu

c# - 使用 XDocument 生成具有多个命名空间的 XML

我有这样的XML:尝试像这样使用XDocument生成XMLprivatereadonlyXNamespace_streamNamespace="http://etherx.jabber.org/streams";privatereadonlyXName_stream;_stream=_streamNamespace+"stream";XDocumentxdoc=newXDocument(newXElement(_stream,newXAttribute("from","sourav@lap-020.abcd.co.in"),newXAttribute("to","lap-020.ab

c# - SelectSingleNode 返回 null - 即使有命名空间

我知道以前有人以类似的方式问过这个问题,但我似乎无法解决这个问题。我有一些xml:9999我正在尝试使用xpath读取值:XPathDocumentxmldoc=newXPathDocument(xmlFile);XPathNavigatornav=xmldoc.CreateNavigator();XmlNamespaceManagernsMgr=newXmlNamespaceManager(nav.NameTable);nsMgr.AddNamespace(string.Empty,"http://www.rixml.org/2005/3/RIXML");XPathNavigator

xml - 如何更改命名空间

如何使用perl将命名空间和uri更改为新的?文件很大(20MB),一行一行,结构复杂。示例:ggg收件人:ggg 最佳答案 您可以使用XML::Twig做到这一点。下面的代码非常简洁,因为它对输入的假设很少,特别是它依赖于输入中命名空间的URI,而不是前缀。每次解析完任何元素时都会刷新twig,因此它在内存中保留的很少。#!/usr/bin/perlusestrict;usewarnings;useXML::Twig;#parameters,maybechangedmy$SR='sr';#localnameoftherootoft

javascript - 在 javascript 中使用 xPath 解析具有默认命名空间的 XML

我需要创建一个XMLxPath解析器。所有解析都必须在客户端进行(使用javascript)。我创建了一个执行此操作的javascript,在默认namespace发挥作用之前,一切看起来都很好。我根本无法查询具有默认命名空间的XML。我在fiddle上创建了一个示例代码。在xmlString中是从服务器接收到的XML字符串。在xPathString中是对接收到的XML完成的查询。以下是一些场景:http://jsfiddle.net/BF34q/1/-没有namespace-一切正常http://jsfiddle.net/BF34q/2/-添加了ns命名空间。元素有ns:前缀。xPa

xml - 命名空间之后的 uri 实际用于什么?

行中的URI(5,6,7)实际上必须指向任何东西吗?当我将它们指向duffurl时,它似乎仍然可以验证我的xml,那有什么意义呢? 最佳答案 使用URN作为命名空间的要点在于它们是唯一的。例如,您也可以使用GUID,但这样它们的可读性更高。当然,使用URN可以将它们指向实际资源,例如xsd文件,但这是一个额外的好处,不是必需的。“tempuri”只是默认名称(“temp”+“uri”),您应该将其替换为真实的URN以避免命名空间冲突。XMLSchema命名空间实际上指向一个包含XML-Schema信息的网站。如果您经常使用XML文档