Option Explicit On
Option Strict On
Option Compare Binary
Rem Option Infer Off
Imports System
Imports System.Xml
Public Class Test
Public Shared Sub Main()
Dim doc As XmlDocument = New XmlDocument()
Rem このサイトではファイルを作れないので標準入力から取り込む。
Rem 元のデータにおそらくミスと思われる余分な>がある。xmlの文法的にはテキストデータとして単独で>を書いてもよい。
doc.LoadXml(System.Console.In.ReadToEnd())
Dim nsmgr1 As XmlNamespaceManager = New XmlNamespaceManager(doc.NameTable)
nsmgr1.AddNamespace("ns", "http://w...content-available-to-author-only...o.jp/sample/info")
Rem 要素のInnerTextを取得したり
Dim writerNode1 As XmlNode = doc.SelectSingleNode("//ns:名前[@prefix='m']", nsmgr1)
System.Console.WriteLine(writerNode1.InnerText)
Rem もしくはテキストノードを取得してみたり(これは上のXPathで同時に指定してしまってもよい)
System.Console.WriteLine(writerNode1.SelectSingleNode("text()").Value)
Rem あとはChildNodesから、いちいち探すとか。
Rem 上記の「要素」に更に「子要素」は存在しないからNothingが戻っている。質問文だけならエラーでないはず
Rem これでメソッドやプロパティを呼び出すと・・・例外になるよね。要らないからコメントアウト。
Rem Dim writerNameNode As XmlNode = writerNode1.SelectSingleNode("ns:名前", nsmgr1)
Dim n1 As XmlNode = writerNode1.SelectSingleNode("//ns:名前[count(@prefix) = 0]", nsmgr1)
System.Console.WriteLine(n1.NodeType)
DirectCast(n1,XmlElement).SetAttribute("prefix", "abc")
Rem 保存するならお好みで。
Rem doc.Save("C:\\abc.xml")
System.Console.WriteLine(doc.OuterXml)
End Sub
End Class
T3B0aW9uIEV4cGxpY2l0IE9uCk9wdGlvbiBTdHJpY3QgT24KT3B0aW9uIENvbXBhcmUgQmluYXJ5ClJlbSBPcHRpb24gSW5mZXIgT2ZmCgpJbXBvcnRzIFN5c3RlbQpJbXBvcnRzIFN5c3RlbS5YbWwKClB1YmxpYyBDbGFzcyBUZXN0CglQdWJsaWMgU2hhcmVkIFN1YiBNYWluKCkKCQlEaW0gZG9jIEFzIFhtbERvY3VtZW50ID0gTmV3IFhtbERvY3VtZW50KCkKCgkJUmVtIOOBk+OBruOCteOCpOODiOOBp+OBr+ODleOCoeOCpOODq+OCkuS9nOOCjOOBquOBhOOBruOBp+aomea6luWFpeWKm+OBi+OCieWPluOCiui+vOOCgOOAggoJCVJlbSDlhYPjga7jg4fjg7zjgr/jgavjgYrjgZ3jgonjgY/jg5/jgrnjgajmgJ3jgo/jgozjgovkvZnliIbjgao+44GM44GC44KL44CCeG1s44Gu5paH5rOV55qE44Gr44Gv44OG44Kt44K544OI44OH44O844K/44Go44GX44Gm5Y2Y54us44GnPuOCkuabuOOBhOOBpuOCguOCiOOBhOOAggoJCWRvYy5Mb2FkWG1sKFN5c3RlbS5Db25zb2xlLkluLlJlYWRUb0VuZCgpKQoKCQlEaW0gbnNtZ3IxIEFzIFhtbE5hbWVzcGFjZU1hbmFnZXIgPSBOZXcgWG1sTmFtZXNwYWNlTWFuYWdlcihkb2MuTmFtZVRhYmxlKQoJCW5zbWdyMS5BZGROYW1lc3BhY2UoIm5zIiwgImh0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5vLmpwL3NhbXBsZS9pbmZvIikKCgkJUmVtIOimgee0oOOBrklubmVyVGV4dOOCkuWPluW+l+OBl+OBn+OCigoJCURpbSB3cml0ZXJOb2RlMSBBcyBYbWxOb2RlID0gZG9jLlNlbGVjdFNpbmdsZU5vZGUoIi8vbnM65ZCN5YmNW0BwcmVmaXg9J20nXSIsIG5zbWdyMSkKCQlTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUod3JpdGVyTm9kZTEuSW5uZXJUZXh0KQoJCQoJCVJlbSDjgoLjgZfjgY/jga/jg4bjgq3jgrnjg4jjg47jg7zjg4njgpLlj5blvpfjgZfjgabjgb/jgZ/jgooo44GT44KM44Gv5LiK44GuWFBhdGjjgaflkIzmmYLjgavmjIflrprjgZfjgabjgZfjgb7jgaPjgabjgoLjgojjgYQpCgkJU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKHdyaXRlck5vZGUxLlNlbGVjdFNpbmdsZU5vZGUoInRleHQoKSIpLlZhbHVlKQoKCQlSZW0g44GC44Go44GvQ2hpbGROb2Rlc+OBi+OCieOAgeOBhOOBoeOBhOOBoeaOouOBmeOBqOOBi+OAggoKCgkJUmVtIOS4iuiomOOBruOAjOimgee0oOOAjeOBq+abtOOBq+OAjOWtkOimgee0oOOAjeOBr+WtmOWcqOOBl+OBquOBhOOBi+OCiU5vdGhpbmfjgYzmiLvjgaPjgabjgYTjgovjgILos6rllY/mlofjgaDjgZHjgarjgonjgqjjg6njg7zjgafjgarjgYTjga/jgZoKCQlSZW0g44GT44KM44Gn44Oh44K944OD44OJ44KE44OX44Ot44OR44OG44Kj44KS5ZG844Gz5Ye644GZ44Go44O744O744O75L6L5aSW44Gr44Gq44KL44KI44Gt44CC6KaB44KJ44Gq44GE44GL44KJ44Kz44Oh44Oz44OI44Ki44Km44OI44CCCgkJUmVtIERpbSB3cml0ZXJOYW1lTm9kZSBBcyBYbWxOb2RlID0gd3JpdGVyTm9kZTEuU2VsZWN0U2luZ2xlTm9kZSgibnM65ZCN5YmNIiwgbnNtZ3IxKQoJCQoJCURpbSBuMSBBcyBYbWxOb2RlID0gd3JpdGVyTm9kZTEuU2VsZWN0U2luZ2xlTm9kZSgiLy9uczrlkI3liY1bY291bnQoQHByZWZpeCkgPSAwXSIsIG5zbWdyMSkKCQlTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUobjEuTm9kZVR5cGUpCgkJRGlyZWN0Q2FzdChuMSxYbWxFbGVtZW50KS5TZXRBdHRyaWJ1dGUoInByZWZpeCIsICJhYmMiKQoKCQlSZW0g5L+d5a2Y44GZ44KL44Gq44KJ44GK5aW944G/44Gn44CCCgkJUmVtIGRvYy5TYXZlKCJDOlxcYWJjLnhtbCIpCgkJCgkJU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKGRvYy5PdXRlclhtbCkKCUVuZCBTdWIKRW5kIENsYXNz
Jmx0Oz94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0mcXVvdDtVVEYtOCZxdW90OyA/Jmd0OwombHQ75pu457GN5oOF5aCxIHhtbG5zPSZxdW90O2h0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5vLmpwL3NhbXBsZS9pbmZvJnF1b3Q7Jmd0OwombHQ76JGX6ICFIGlkPSZxdW90O3dyaXRlcjIwMSZxdW90OyZndDsKJmx0O+WQjeWJjSZndDvkvZDol6TmmbTlrZAmbHQ7L+WQjeWJjSZndDsKJmx0Oy/okZfogIUmZ3Q7CiZsdDvokZfogIUgaWQ9JnF1b3Q7d3JpdGVyMzAyJnF1b3Q7Jmd0OwombHQ75ZCN5YmNIHByZWZpeD0mcXVvdDttJnF1b3Q7Jmd0O+mItOacqOmbqCZsdDsv5ZCN5YmNJmd0OwombHQ7L+iRl+iAhSZndDsKJmx0Oy/mm7jnsY3mg4XloLEmZ3Q7
<?xml version='1.0' encoding="UTF-8" ?>
<書籍情報 xmlns="http://w...content-available-to-author-only...o.jp/sample/info">
<著者 id="writer201">
<名前>佐藤晴子</名前>
</著者>
<著者 id="writer302">
<名前 prefix="m">鈴木雨</名前>
</著者>
</書籍情報>