プãƒã‚°ãƒ©ãƒ 言語 XMLæ“作
作æˆ
æ–‡å—列指定
const string url = "http://example.com/";
var doc = new XmlDocument();
親è¦ç´ ・属性
var root = doc.CreateElement("root", url);
var att = doc.CreateAttribute("att");
att.AppendChild(doc.CreateTextNode("sample"));
root.Attributes.Append(att);
åè¦ç´
var child1 = doc.CreateElement("child1", url);
child1.AppendChild(doc.CreateTextNode("sample1"));
root.AppendChild(child1);
var child2 = doc.CreateElement("child2", url);
child2.AppendChild(doc.CreateTextNode("sample2"));
root.AppendChild(child2);
doc.AppendChild(root);
Console.WriteLine(doc.OuterXml());
親è¦ç´ ・属性・åè¦ç´ ã‚’ã¾ã¨ã‚ã¦æ§‹ç¯‰
doc.LoadXml("<root att='sample' xmlns='http://example.com/'><child1>sample</child1><child2>sample</child2></root>");
Console.WriteLine(doc.OuterXml());
çµæžœ
<root att="sample" xmlns="http://example.com/">
 <child1>sample</child1>
 <child2>sample</child2>
</root>
var doc = new XDocument();
XNamespace name = "http://example.com/";
var root = new XElement(name + "root");
var attRoot = new XAttribute("attRoot", "value");
var elm1 = new XElement(name: "elm1", content: "value1");
var elm2 = new XElement(name: "elm2", content: "value2");
var attElm = new XAttribute("attElm", "value");
root.Add(elm1);
root.Add(elm2);
elm2.Add(attElm);
root.Add(attRoot);
doc.Add(root);
Console.WriteLine(doc.ToString());
XNamespace name = "http://example.com/";
var root = new XElement(
 name + "root", new XAttribute("att", "valueAtt"),
 new XElement("elm1", "value1"),
 new XElement("elm2", new XAttribute("attElm", "value"), "value2"));
Console.WriteLine(root.ToString());
çµæžœ
<root attRoot="value" xmlns="http://example.com/" >
 <elm1>value</elm1>
 <elm2 attElm="value">value</elm2>
</root>
æ–‡å—列→XML変æ›
çµæžœ
Console.WriteLine(doc.ToString());
<root xmlns='https://office-yone.com/'>
 <a>システム開発</a>
 <b>ホームページ作æˆ</b>
</root>
èªå–
å€¤ã§æ¤œç´¢
XNamespace name = "https://office-yone.com/";
int count = doc.Descendants(name + "a").Count();
count:1
int count = doc.Descendants(name + "b").Where( x => x.Value == "ホームページ作æˆ").Count();
count:1
int count = doc.Descendants(name + "b").Where( x => x.Attribute("type").Value == "web").Count();
<root xmlns='https://office-yone.com/'>
 <a>システム開発</a>
 <b type="web">ホームページ作æˆ</b>
 <c>
  <d>インフラ構築</d>
 </c>
</root>
è¦ç´ åã§æ¤œç´¢
string val = doc.Element("a").Element("b").Element("c").Value;
val:WordPress
<a>
 <b>
  <c>WordPress</c>
 </b>
</a>
var doc = XDocument.Parse("<a><b><c>C#</c></b><b><c>Java</c></b></a>");
foreach (var elm in doc.Element("a").Elements("b").Elements("c"))
{
 Console.WriteLine(elm.Value);
};
→C# Java
<a>
 <b>
  <c>C#</c>
 </b>
 <b>
  <c>Java</c>
 </b>
</a>