0

サンプルxmlがあります

<UserSettings>
   <Source>settings/subscriptions</Source>
   <DestinationController>UserSettings</DestinationController>
   <DestinationAction>GetUserPreferenceSettings</DestinationAction>
</UserSettings>

タグ名(UserSettings)を使用したXMLの読み込みは以下のように行われます。

XmlDataDocument xmlDoc = new XmlDataDocument();
strFileName = System.Configuration.ConfigurationManager.AppSettings["UrlRoutingPath"].ToString();
strFileLocation = HttpContext.Current.Server.MapPath("~/" + strFileName);

xmlDoc.Load(strFileLocation);

XmlNodeList xmlNode = xmlDoc.GetElementsByTagName("UserSettings");

要素「ソース」に基づいて直接読み取るにはどうすればよいですか (上記の xml の例: 「ソース」要素に一致するように設定/サブスクリプションを渡して読み取る)。本当の基本は知っていますが、本当に混乱しています!

4

2 に答える 2

1

Linq-XML(System.Xml.Linq 名前空間のインポート)を使用します。

XDocument doc = XDocument.Load(filename);
string value = doc.Root.Element("Source").Value;
于 2011-12-10T07:09:49.990 に答える
0

XPath式を受け入れるSelectSingleNodeと組み合わせて、代わりにXmlDocumentを使用します。以下はテストされていません。

XmlDocument doc = new XmlDocument();
strFileName = [...]
doc.Load(strFileName);
sourcetext=doc.SelectSingleNode("/UserSettings/Source").InnerText;

編集:

Source に基づいて DestinationController を取得する方法の大まかな例を次に示します。

XmlDocument doc = new XmlDocument();
strFileName = [...]
doc.Load(strFileName);
dctext=doc.SelectSingleNode("/UserSettings/[Source=\"Your desired source\"]/DestinationController").InnerText;
于 2011-12-10T06:59:10.030 に答える