草庐IT

c# - 函数 RemoveChild(XmlNode 节点)在 C# 中失败

当我尝试使用RemoveChild()删除我的一些子元素时。但是抛出异常。我在下面附上了我的代码。nodeName=doc.SelectSingleNode("//Equipment//DataCollections//EnabledIDs//MyID[@id='"+attrValue+"']");//FoundthenodeNamesuccessfullydruingruntime.doc.DocumentElement.RemoveChild(nodeName);//faildtoRemovethenode在下面显示错误:Anunhandledexceptionoftype'Sys

c# - 如何使用 C# 动态更改 XML 节点的属性

我有一个将用户数据保存到xml文档的c#应用程序。我希望能够根据用户在文本框中输入不同的条件并选择保存/覆盖现有文件保存来动态更改xml节点的属性。问题是我不能简单地删除节点并使用新属性重新创建它,因为该节点具有无法删除的子节点。有没有人有什么想法或建议?XmlNode.Attributes方法没有提供一种方法,我可以告诉它只删除节点的属性并重新分配它。不过我可能是错的。 最佳答案 将您的节点转换为XmlElement并使用element.SetAttribute(...);方法。((XmlElement)node).SetAttr

c# - 使用 System.Xml.XmlDocument 时是否可以从 System.Xml.XmlNode 获取行号/位置?

标题说明了一切......在使用System.Xml.XmlDocument时是否可以从System.Xml.XmlNode获取行号/位置?我需要这些信息,以便我可以通知用户他们需要在Xml文件中的何处查找特定信息。我在SO上看到过与XmlReader相关的类似问题,但没有任何内容能真正回答我的问题。我想我可以在xml文件中搜索我感兴趣的节点的OuterXml,但这似乎很麻烦,如果该信息多次出现在文件中怎么办?一定有更好的方法吗?更新:我正在使用以下方法加载我的xml文件:xmlDoc=newXmlDocument();xmlDoc.PreserveWhitespace=true;xm

xml - 将 XmlNode 文本转换为整数

我尝试使用的代码是这样的。DimoNodeSetoNode=XmlDoc.SelectSingleNode("/Record/CelloXml/Integration/Case/Hearing/Court/NodeID")DimiIndexSetiIndex=(CInt((oNode.Text).substring(0,1)))-1我想使用iIndex来决定arraylist中的元素返回给父应用程序。我目前遇到的错误是我需要在oNode.Text中添加一个文本对象我在这里做错了什么? 最佳答案 VBScript字符串没有.subst

c# - XmlNode.InnerXml 属性 - 省略 xmlns 属性

我有一些代码可以替换XML文档的根节点名称,同时保留其命名空间。XmlDocumentdoc=newXmlDocument();StreaminStream=inmsg.BodyPart.GetOriginalDataStream();doc.Load(inStream);XmlNoderoot=doc.DocumentElement;XmlNodereplacement=doc.SelectSingleNode("/*/*[1]");XmlNodenewRoot=doc.CreateElement(replacement.Name);XmlAttributexmlns=(XmlAtt

c# - 如何用新值更新 XML 节点?

我的App_Data文件夹中有一个xml。我需要编辑该xml节点中的值。我试过的是-XmlDocumentxDoc=newXmlDocument();xDoc.Load(Server.MapPath("~/App_Data/conf.xml.config"));XmlNodeListaNodes=xDoc.SelectNodes("/ConfigInf");foreach(XmlNodenodeinaNodes){XmlNodechild1=node.SelectSingleNode("Node1");XmlNodechild2=node.SelectSingleNode("Node2

c# - 使用 XmlNode 获取当前节点的 InnerText

我有一个XMLNode,其主体如下所示:(通过OpenCalais)SignalprocessingSignalprocessing当我对其调用XMLMNode.InnerText时,我返回:SignalprocessingSignalprocessing但是,我只想要标签本身的InnerText,而不是子“原始值”节点的InnerText。当我调用XMLNode.Value时,它返回null。我怎样才能只得到这个节点的InnerText,而不连接其他子节点的所有InnerText? 最佳答案 XmlNode里面的文字实际上是另一个

c# - 如何从 C# 中的 XmlNode 获取参数值

如何获取XmlNode标记中的参数值。例如:WeatherType,Coverage,andIntensity我想获取节点“weather-conditions”中参数“weather-summary”的值。 最佳答案 varnode=xmldoc.SelectSingleNode("weather/weather-conditions");varattr=node.Attributes["weather-summary"]; 关于c#-如何从C#中的XmlNode获取参数值,我们在St

java - 递归地从 XML 中删除空节点

我想从XML元素中删除空节点。此xml由供应商生成,我无法控制xml生成。但是由于XML中的空节点很少,我需要递归地删除这些空节点。这个xml是从OMElement得到的,我使用[XMLUtils][1]从这个对象中得到一个元素示例XMLsomethingsomethingsomethingelse由于D21是一个空节点,我想删除D21,因为现在D2是一个空节点,我想删除D2,但由于D有D1,我不想删除D。同样有可能我可以得到现在因为C是空的,我想删除C,然后是B,最后是节点A。我正在尝试使用Node中的removeChild()方法来执行此操作但到目前为止我无法递归地删除它们。有任何

xml - 如何将 XmlNode 从一个 XmlDocument 复制到另一个?

我正在构建一个编写/编辑XML文件的工具,我希望能够使用另一个XML文件中定义的模板片段来填充它。例如,该工具有一个“添加FooBarBaz元素”按钮,可以将元素添加到正在创建的新文档中,我想通过从模板复制它来添加FooBarBaz。或者假设这是我的模板文件:然后我可以使用.GetElementsByTagName("FooBarBaz")获取模板片段,并且我希望能够使用类似.AppendChild(templateNode)的方法将它注入(inject)到新文档中。但问题是XmlNode无法从一个XmlDocument复制到另一个,即使您使用.Clone()或.CloneNode()