C# 在C中分解XML字符串#

C# 在C中分解XML字符串#,c#,xml,string,xmlnode,innertext,C#,Xml,String,Xmlnode,Innertext,我有一个名为“structNumber”的XML节点,其数据类似于“4.2” 我使用以下命令选择节点: XmlNode xnChapNr = xDoc.SelectSingleNode("//./structNumber"); 目前,我通过以下方式展示: string chapNr = (xnChapNr == null) ? "X" : xnChapNr.InnerText 然后显示整个字符串“4.2” 然而,我需要的是一种只为这个字符串选择“4”,为另一个字符串选择“2”的方法 是否有

我有一个名为“structNumber”的XML节点,其数据类似于“4.2”

我使用以下命令选择节点:

XmlNode xnChapNr = xDoc.SelectSingleNode("//./structNumber");
目前,我通过以下方式展示:

 string chapNr = (xnChapNr == null) ? "X" : xnChapNr.InnerText
然后显示整个字符串“4.2”

然而,我需要的是一种只为这个字符串选择“4”,为另一个字符串选择“2”的方法

是否有InnerText的扩展名?我已经阅读了文档,但似乎没有任何东西像我希望的那样起作用

知道是否有帮助;这段代码的全部功能是生成XML文档的树结构。即: 第四章, 第4.1节, 第4.1.1小节, 第4.2节, 等等


非常感谢您提供的任何帮助。

您需要的不是XML,而是字符串操作。您要查找的是Split函数

string chapNr=(xnChapNr==null)?“X”:xNCHANR.InnerText.ToString().Split(新字符[]{.'.})[0]
将返回4和


string chapNr=(xnChapNr==null)?“X”:xNCHANR.InnerText.ToString().Split(新字符[]{.'.})[1]
将返回您2

是否
Split
执行您想要的操作<代码>字符串[]chapNrs=(xnChapNr???).Split(“.”.ToCharArray(),StringSplitOptions.RemoveEmptyEntries)在此之后,数组将为空或包含一个或多个章节号。然后,如果
.Length==0
,您可以打印“X”,或者使用数组执行任何您打算执行的操作。不过请注意,如果他愿意首先更改XML结构,可以使用XSLT实现:感谢您建议使用XSLT,我甚至没有考虑过这一点。然而,在这种情况下,我认为像你和其他人建议的那样使用Split更容易。非常感谢!当你看到它时,它是如此简单。