草庐IT

Xelement

全部标签

c# - 是否可以为 XAttribute 和 XElement 编写方法?

XAttribute和XElement都派生自XObject类型。两者都有一个Value属性。到目前为止,这就是我想做的事情:stringFooMyXObject(XObjectbar){if(bar.NodeType==NodeType.Element)return(barasXElement).Value;elseif(bar.NodeType==NodeType.XAttribute)return(barasXAttribute).Value;elsethrownewException("GenericFailMessage");}这感觉很笨重。我希望有一些方法可以使它不那么笨重

c# - 将新的 XElement 添加到现有的 XElement(如果它不存在)

在尝试添加某个元素之前,如何检查该元素是否存在于给定元素中?背景:我有一个XDocumentX作为子元素包含Flowers随后包含一个系列每个元素都命名为Flower。每个Flower都有2个子元素,我想添加一个名为Price的第三个元素。但是,我想检查并确保Flower元素中还没有用于Price的元素。我怎么做?我什至需要检查吗? 最佳答案 XElement有一个HasElements属性,如果只是想知道是否存在任何元素,它会起作用。对于你的情况,我会使用...XNamespacens="http://mynamespace.co

c# - XElement 查询给出错误 : "Sequence contains no elements"

我正在尝试查询此xml:这是我的功能:protectedstringGetParent(GuidnodeId){XDocumentdoc=XDocument.Parse(GetXml());//parsesxmldisplayedabove//returnsthe5pagemapnodesdisplayedaboveIEnumerablenodes=doc.Descendants("pageMapNode");//error:"Sequencecontainsnoelements"XElementnode=doc.Descendants("pageMapNode").Where(n=>

c# - 如何搜索具有特定属性值的 XElement?

我需要通过其属性之一的值搜索子节点,例如说我有这个XML我想提取属性Name值为2的节点Child。..我想要完整的节点,而不仅仅是节点的标签。我试过这样的事情root.Elements("Attr").Where(child=>child.Attribute("Name").Value=="2");但是我没有工作 最佳答案 使用元素名称,即“Child”,它应该按照您的方式工作...而且自.Where在这种情况下返回IEnumerable,要获得该元素,请使用.First()在最后。root.Elements("Child").W

c# Elements of elements 使用 XElement

不确定我应该怎么做。这是我正在使用的XML:avaluevalue1value2valueXvalyeYvalueX我正在编写一个函数来传递item_type和item_type2的值,并返回该组合的属性值列表。这是我的。它会在指出的位置抛出“对象未设置为对象的实例”异常。ArrayListproperties=newArrayList();XDocumentconfig=newXDocument();config=XDocument.Parse(XML_Text);foreach(XElementitem1inconfig.Root.Element("tag2").Nodes()){

c# - 如何解析具有多个命名空间的 XML(使用 XELement)?

解析XML文档后,我得到以下Xresponse:HotIssue根据之前的帖子,当文档中存在默认namespace时,您必须将其作为命名namespace进行解析。例如。XNamespacens="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/";varxDIDL=xResponse.Element(ns+"DIDL-Lite");但就我而言,我有四个不同的namespace。使用以下查询后我没有得到任何结果,我得到了响应,没有产生任何结果:XNamespacedc="http://purl.org/dc/elements/1.1/";varv

c# - XElement 有类似 XmlNodeList 的东西吗

我想用XElement做这个:XmlDocumentdoc=newXmlDocument();doc.LoadXml(xml);mlNodeListnodeList=doc.GetElementsByTagName("Title");并获取所有节点。可能吗? 最佳答案 等价于你的代码是:XElementdoc=XElement.Parse(xml);IEnumerablenodeList=doc.Descendants("Title");如果您需要一个离散列表,您可以调用nodeList.ToList(),但如果您只想迭代,IEnu

c# - .NET 中的 XML 数据管理

我正在学习.NET中的Xml数据处理。我有以下XML格式。book1author110.901985book2author220.901995我需要学习向XML文件添加/编辑/删除新书。您能否指导我探索这些功能的所有类。我发现很多类,如XmlDocumentXmlTextWriter等。一些网站也建议使用LINQ。我对去哪一个感到困惑。有没有什么好的资料可以引用了解这个。 最佳答案 下面是使用LINQtoXML添加和删除元素的示例://loadtheXMLfileintoanXElementXElementxml=XElement.

C# Linq to XML 添加、更新、删除

我有这个代码XElementnewClient=newXElement("Client",newXElement("Name",cmbClient.Text),newXElement("Service",newXElement("ServName",cmbService.Text)));xmlDoc.Add(newClient);xmlDoc.Save("Settings.xml");这是什么造成的ClientNameServiceName如果我再次按下Button1,那么它将创建另一个客户端部分,没关系,但我想要的是:如果不不存在,则创建一个新的客户部分。如果Client存在,则向其

c# - Error parsing xml 语法错误

我在下面有以下代码。我收到错误消息“字符‘:’十六进制值0x3A不能包含在名称中”谁能告诉我如何解决这个问题?谢谢下面是完整的代码publicstaticXDocumentGenerateXMLSpreadSheet(DataTabletbl){newXDocument(newXDeclaration("1.0","utf-8","yes"),newXProcessing**Instruction("mso-application","Excel.Sheet"),newXElement("Workbook",newXAttribute("xmlns","urn:schemas-micr