Разбиение строки XML в C # - PullRequest
0 голосов
/ 12 октября 2011

У меня есть узел XML с именем structNumber, который имеет данные, аналогичные '4.2'

Я выбираю узел, используя:

XmlNode xnChapNr = xDoc.SelectSingleNode("//./structNumber");

И в настоящее время я отображаю его как:

 string chapNr = (xnChapNr == null) ? "X" : xnChapNr.InnerText

Затем отображается вся строка «4.2».

Однако мне нужен только способ выбрать «4» для этой строки и «2» длядругое.

Есть ли расширение для InnerText?Я прочитал документацию, но, похоже, ничего не работает так, как я хочу.

Если это полезно знать;то, что этот код делает полностью, создает древовидную структуру XML-документа.Т.е.: глава 4, раздел 4.1, подраздел 4.1.1, раздел 4.2, т. Д.

Любая и вся помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

string chapNr = (xnChapNr == null) ? "X" : xnChapNr.InnerText.ToString().Split(new char[]{'.'})[0] вернет вам 4, а

string chapNr = (xnChapNr == null) ? "X" : xnChapNr.InnerText.ToString().Split(new char[]{'.'})[1] вернет вам 2

0 голосов
/ 12 октября 2011

То, что вы ищете, связано не с XML, а со строковой операцией. То, что вы ищете, это функция Split http://msdn.microsoft.com/en-us/library/b873y76a.aspx

...