

以下のようなXMLファイルがあったとき、serverとdatadaseの属性値を取り出す方法がわかりません。
どなたかご教授ください。
また、複数あるpropertyの中から(value=)"sa"を取得する方法もお願いします。
現在、C#で、次のようにしてXMLファイルにアクセスして、ルート要素名を取り出すことには成功しています。
------ ソース ここから --------
XmlDocument xmlDoc = new XmlDocument();
// XmlDocumentオブジェクトを作成
xmlDoc.Load(fileName);
XmlElement xmlRoot = xmlDoc.DocumentElement;
Console.Write("ルート名は[" + xmlRoot.Name + "]です。\n");
--------- ソース ここまで ---------
--------- ここからXMLファイル --------
<?xml version="1.0" encoding="utf-8"?>
<!-- ↓これ(server)がルート名 -->
<server maintenance="No">
<!-- データベース接続設定 -->
<database providerInvariantName="System.Data.SqlClient" connectionString="xxxxx">
<property key="dbUrl" value="xxxxx" />
<property key="userName" value="sa" />
<property key="userPassword" value="xxxxxxxx" />
<property key="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
</database>
<!-- LDAP設定 -->
<ldap>
<!-- シングルサインオン -->
<sso Password="xxxxx" SyncTime="3600" />
</ldap>
</server>
No.1ベストアンサー
- 回答日時:
やりかたは、色々あるけど、1つの方法
----------------------------------------------------------------
XmlNode xmlRoot = xmlDoc.DocumentElement;
Console.Write("ルート名は[" + xmlRoot.Name + "]です。\n");
Console.WriteLine(xmlRoot.SelectSingleNode("/server/@maintenance").Value);
Console.WriteLine(xmlRoot.SelectSingleNode("/server/database/@providerInvariantName").Value);
Console.WriteLine(xmlRoot.SelectSingleNode("/server/database/@connectionString").Value);
Console.WriteLine(xmlRoot.SelectSingleNode("/server/database/property/@value[../@key='userName']").Value);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- JavaScript SQLでデータベースから返ったデータのJSON形式生成について 1 2022/04/06 12:25
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- JavaScript Json のキーと値の出力の違いについて 2 2022/06/14 20:22
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XPathで途中に名前空間が設定さ...
-
XMLファイル内のデータ(値)を変...
-
C#でXMLの読み取り書き取りにつ...
-
VBAでXML文書のある特定タグ以...
-
VBAでXMLを出力するプログラム...
-
東芝のDynabookなのですがアン...
-
新しいノード
-
XML同じ名前の要素を自動で集約...
-
ルート要素ノードが2個ある場合?
-
XMLデータを動的に使用する
-
CPUの考え方を教えてください ...
-
formタグと、imgObj.src[=strURL]
-
メモリのセクションに関して
-
Googleウェブマスターツール
-
多分木のプログラミングについて
-
XMLとRDFの違い
-
ブレークポイントで止らない
-
RSS2.0でitemが空の場合の記述
-
cでxmlを使いたい
-
Web サイトにあるxmlファイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでXMLを出力するプログラム...
-
XMLDocumentでスキーマを無視し...
-
XMLファイル内のデータ(値)を変...
-
XPathで途中に名前空間が設定さ...
-
VB6でXMLを作成しているのです...
-
XMLの要素の内容の中に要素
-
XML文のid属性とclass属性について
-
C#でXMLの読み取り書き取りにつ...
-
VBAでXML文書のある特定タグ以...
-
エクセルVBA ウェブ上のボタ...
-
WebBrowser1.Document.Body.Inn...
-
XMLをXSLTで変換するとき、XML...
-
CPUの考え方を教えてください ...
-
タグの有無の判定
-
バッチファイルでテキストファ...
-
SNMP リンクダウンとノードダ...
-
東芝のDynabookなのですがアン...
-
XMLファイルの作り方がわかりま...
-
XMLで要素が記述された順番に意...
-
ルート要素ノードが2個ある場合?
おすすめ情報