¶½Ì£¤ÎÉ뤯¤Þ¤Þ¤ËC#¤ÎÊÙ¶¯¥á¥â¤ò¥¢¥Ã¥×¤·¤Þ¤¹¡ª
£²£³»þ¤Û¤É¤Ëµ¢Â𤷡¢Áá®FireFox£³¤Î¥À¥¦¥ó¥í¡¼¥É¤Ë¼è¤ê³Ý¤«¤ê¤Þ¤·¤¿¡¥¡¥¡¥¤¬¡¢¥®¥Í¥¹¤ËÄ©À路¤Æ¤¤¤ë¤À¤±¤¢¤Ã¤Æ¡¢¥À¥¦¥ó¥í¡¼¥É¥µ¥¤¥È¤Ë¤Ê¤«¤Ê¤«¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£½½¿ôʬ¤Û¤É³ÊÆ®¤ÎËö¥¢¥¯¥»¥¹¤Ç¤­¤¿¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤·¤¿¡£½¾Íè¤ÎFireFox2µÚ¤Ó¥¢¥É¥ª¥ó¤Ïǰ¤Î¤¿¤áÁ´¤Æ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤«¤é¡¢FireFox3¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿¡£

»È¤Ã¤Æ¤ß¤¿¤È¤³¤í¡¢¡ÖIE7¤Î9.3ÇÜ®¤¤¡×¤«¤É¤¦¤«Ê¬¤«¤ê¤Þ¤»¤ó¤¬¡¢FireFox2¤ÈÈæ¤Ù¤Æ¡¢Â䶤Çʬ¤«¤ë¤Û¤É®¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ÆÃ¤ËGmail¤äFC2¥Ö¥í¥°¤Ë¤ª¤¤¤Æ¸²Ãø¤Ë´¶¤¸¤Þ¤¹¡£

¤Þ¤¿¡¢¾¯¤·¤º¤Ä¤¤¤í¤ó¤Êµ¡Ç½¤ä¥¢¥É¥ª¥ó¤ò»î¤·¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¤¢¤È¤Ï¡¢À¤³¦µ­Ï¿Ã£À®¤Ç¤­¤ë¤È¤¤¤¤¤Ç¤¹¤Í

¥Ö¥í¥°¥é¥ó¥­¥ó¥°
Á°²ó¤Þ¤ÇXmlReader¤Ë¤Ä¤¤¤ÆÊÙ¶¯¤·¤Æ¤­¤Þ¤·¤¿¡£º£²ó¤«¤é¿ô²ó¤Ëʬ¤±¤ÆXmlWriter¤Ë¤Ä¤¤¤ÆÊÙ¶¯¤·¤Æ¤¤¤­¤Þ¤¹¡£

DOM¤È¤ÎÈæ³Ó
DOM¤òÍøÍѤ·¤¿¾ì¹ç¡¢¼¡¤Î¼ê½ç¤ÇXMLʸ½ñ¤òºîÀ®¤òºîÀ®¤·¤Þ¤·¤¿¡£
¡¡­¡¥Î¡¼¥É¤òºîÀ®¤¹¤ë¡£
¡¡­¢¥Î¡¼¥É¤òŬÅö¤Ê¾ì½ê¤ËÄɲ乤롣
¡¡­£XMLʸ½ñ¤òÊݸ¤¹¤ë¡£
¡Ê¡Ö¡ÚWeb¥µ¡¼¥Ó¥¹¡ÛWeb¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤ÎXMLÆþÌç(8)¡×¤è¤ê¡Ë

¤³¤ì¤ËÂФ·¤Æ¡¢XmlWriter¤Ç¤Ï¡¢XML¤Î¹½Â¤¤òµ¤¤Ë¤»¤º¤Ë¡¢Í×ÁǤγ«»Ï¥¿¥°¡¢Í×ÁÇ¤ÎÆâÍÆ¡¢Í×ÁǤνªÎ»¥¿¥°¤È¤¤¤¦·Á¤Ç¡¢¥Î¡¼¥É¤ò½ç¤ËºîÀ®¤·¤Æ¤¤¤­¤Þ¤¹¡£¹Í¤¨Êý¤Ï¤È¤Æ¤â¥·¥ó¥×¥ë¤Ç¤¹¤Í¡£

¤¿¤À¤·¡¢DOM¤òÍøÍѤ·¤¿¾ì¹ç¤Î¤è¤¦¤Ë¡¢Í×ÁǤÈÍ×ÁǤδ֤ˡ¢¿·¤·¤¤Í×ÁǤòÄɲ乤롢¤È¤¤¤¦¤è¤¦¤Ê½ÀÆð¤Ê½èÍý¤Ï¤Ç¤­¤Þ¤»¤ó¡£

XmlWriter¤òÍøÍѤ·¤¿XML¤Î½ñ¤­¹þ¤ß
XmlWriter¤òÍøÍѤ¹¤ë¤Ë¤Ï¡¢XmlWriter.Create¥¹¥¿¥Æ¥£¥Ã¥¯¥á¥½¥Ã¥É¤òÍøÍѤ·¤Þ¤¹¡£
Create(<¥¹¥È¥ê¡¼¥à or ¥Õ¥¡¥¤¥ë̾> [,  <XmlWriterSettings>])
XmlReader¤Ë¤ª¤¤¤Æ¡¢XmlReaderSettings¤ò»ÈÍѤ·¤¿¤è¤¦¤Ë¡¢XmlWriter¤Ç¤Ï¡¢XmlWriterSettings¥¯¥é¥¹¤òÍøÍѤ·¤Æ¡¢XmlWriter¤Îưºî¤ò»ØÄꤷ¤Þ¤¹¡£

XmlWriterSettings¥¯¥é¥¹¤Î¼ç¤Ê¥×¥í¥Ñ¥Æ¥£¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¥×¥í¥Ñ¥Æ¥£ÆâÍÆ·¿½é´üÃÍ
Encoding »ÈÍѤ¹¤ë¥¨¥ó¥³¡¼¥ÉEncoding

Encoding.UTF8

Indent Í×ÁǤ˥¤¥ó¥Ç¥ó¥È¤òÀßÄꤹ¤ë¤«¤É¤¦¤«bool

false

IndentChars ¥¤¥ó¥Ç¥ó¥È½èÍý¤ò¹Ô¤¦¤È¤­¤Ë»ÈÍѤ¹¤ëʸ»úÎóstring

2¤Ä¤Î¥¹¥Ú¡¼¥¹

NewLineChars ²þ¹Ô¤Ë»ÈÍѤ¹¤ëʸ»úÎóstring

¥r¥n(¥­¥ã¥ê¥Ã¥¸ ¥ê¥¿¡¼¥ó¡¢²þ¹Ô)

NewLineHandling ½ÐÎÏÆâ¤Î²þ¹Ô¤òÀµµ¬²½¤¹¤ë¤«¤É¤¦¤«NewLineHandlingÎóµóÂÎ

NewHandling.Replace

NewLineOnAttributes ¿·¤·¤¤¹Ô¤Ë°À­¤ò½ñ¤­¹þ¤à¤«boolfalse
OmitXmlDeclaration XMLÀë¸À¤Î½ÐÎϤò̵¸ú²½¤¹¤ë¤«boolfalse
























¡Ê»²¹Í¡Ë
¡¦¡ØC#¤Ç¤Ï¤¸¤á¤ëWeb¥µ¡¼¥Ó¥¹¥×¥í¥°¥é¥ß¥ó¥°¡Ù¤ÎÂ裳¾Ï¡ÖWeb¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤ÎXMLÆþÌç¡×¡Ý¡ÖXmlReader¤ÈXmlWriter¡×

¥Ö¥í¥°¥é¥ó¥­¥ó¥°
º£²ó¤Ï¡¢XmlReader¤òÍøÍѤ·¤¿¾ì¹ç¤Î°À­¤Î¼èÆÀÊýË¡¤Ë¤Ä¤¤¤Æ¡¢ÊÙ¶¯¤·¤Þ¤¹¡£

¤Þ¤º¡¢Â°À­¤ò¼èÆÀ¤¹¤ë¤¿¤á¤ÎXmlReader¤Î¥á¥½¥Ã¥É¤òɽ¤Ë¼¨¤·¤Þ¤¹¡£
¥á¥½¥Ã¥ÉÆâÍÆ·¿
MoveToAttribute(<¥¤¥ó¥Ç¥Ã¥¯¥¹>»ØÄꤷ¤¿<¥¤¥ó¥Ç¥Ã¥¯¥¹>¤Ë°Üư¤¹¤ëvoid
MoveToAttribute(<̾Á°>)»ØÄꤷ¤¿<̾Á°>¤Ë°Üư¤¹¤ëvoid
MoveToFirstAttribute()ºÇ½é¤Î°À­¤Ë°Üư¤¹¤ëbool
MoveToNextAttribute()¼¡¤Î°À­¤Ë°Üư¤¹¤ëbool
MoveToElement()¸½ºß¤Î°À­¥Î¡¼¥É¤ò´Þ¤àÍ×ÁÇ¤Ë°ÜÆ°¤¹¤ëbool










MoveToFirstAttribute¥á¥½¥Ã¥É¡¢MoveToNextAttribute¥á¥½¥Ã¥É¤Ï¡¢Â°À­¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ïtrue¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ïfalse¤òÊÖ¤·¤Þ¤¹¡£

¸½ºß¤Î¥Ý¥¤¥ó¥¿¤¬Â°À­¥Î¡¼¥É¤ò¼¨¤¹¤È¤­¡¢Name¥×¥í¥Ñ¥Æ¥£¤Ç°À­Ì¾¤ò¡¢Value¥×¥í¥Ñ¥Æ¥£¤ÇÃͤò¼èÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢GetAttribute¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢»ØÄꤷ¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¡¢Ì¾Á°¤Î°À­¤ÎÃͤò¼èÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£GetAttribute¥á¥½¥Ã¥É¤Ï¡¢XmlReader¤Î¥Ý¥¤¥ó¥¿¤ò°Üư¤·¤Þ¤»¤ó¡£

ºÇ¸å¤Ë¡¢XmlReader¤ÎÍøÍѤ¬½ª¤ï¤Ã¤¿ºÝ¤Ï¡¢Close¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢XmlReader¤òÊĤ¸¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£


¡Ê»²¹Í¡Ë
¡¦¡ØC#¤Ç¤Ï¤¸¤á¤ëWeb¥µ¡¼¥Ó¥¹¥×¥í¥°¥é¥ß¥ó¥°¡Ù¤ÎÂ裳¾Ï¡ÖWeb¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤ÎXMLÆþÌç¡×¡Ý¡ÖXmlReader¤ÈXmlWriter¡×

¥Ö¥í¥°¥é¥ó¥­¥ó¥°
º£²ó¤â°ú¤­Â³¤­¡¢XmlReader¤Ë¤Ä¤¤¤ÆÊÙ¶¯¤·¤Þ¤¹¡£
Á°²ó¡¢XmlReader¤ÎRead¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¡¢³Æ¥Î¡¼¥É¤ÎNodeType¥×¥í¥Ñ¥Æ¥£¡¢Name¥×¥í¥Ñ¥Æ¥£¤ò»²¾È¤·¤Þ¤·¤¿¡£¤³¤ì¤é¤ò´Þ¤á¡¢¼ç¤Ê¥×¥í¥Ñ¥Æ¥£¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£

XmlReader¤Î¼ç¤Ê¥×¥í¥Ñ¥Æ¥£
¥×¥í¥Ñ¥Æ¥£ÆâÍÆ·¿
AttributeCount¥Î¡¼¥É¤ÎÍ×ÁÇ¿ô¤ò¼èÆÀ¤¹¤ëint
Depth¸½ºß¤Î¥Î¡¼¥É¤Î¿¼¤µ¤ò¼èÆÀ¤¹¤ëint
EOF¥ê¡¼¥À¡¼¤¬¥¹¥È¥ê¡¼¥à¤ÎËöÈø¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¼¨¤¹bool
HasAttributes¥Î¡¼¥É¤¬Â°À­¤ò¤â¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¼¨¤¹bool
HasValue¸½ºß¤Î¥Î¡¼¥É¤¬Value¤ò¤â¤Ä¤³¤È¤¬¤Ç¤­¤ë¤«¤É¤¦¤«¤ò¼¨¤¹bool
IsEmptyElement¸½ºß¤Î¥Î¡¼¥É¤¬¶õ¤ÎÍ×ÁǤ«¤É¤¦¤«¤ò¼¨¤¹bool
LocalName¸½ºß¤Î¥Î¡¼¥É¤Î¥í¡¼¥«¥ë̾¤ò¼¨¤¹string
Name¸½ºß¤Î¥Î¡¼¥É¤Î¸ÂÄê̾¤ò¼¨¤¹string
NamespaceURI̾Á°¶õ´ÖURI¤ò¼¨¤¹string
NodeType¸½ºß¤Î¥Î¡¼¥É¤Î¼ïÎà¤ò¼¨¤¹XmlNodeTypeÎóµó·¿
Prefix̾Á°¶õ´Ö¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤ò¼¨¤¹string
Value¸½ºß¤Î¥Î¡¼¥É¤ÎÃͤò¼¨¤¹string






















¥Î¡¼¥É¤Î¼ïÎà¤Ï¡¢´ðËÜŪ¤Ë¤ÏDOM¤ÈƱ¤¸¤Ç¤¹¤¬¡¢XmlReader¤Ç¤ÏÍ×ÁǤνªÎ»¥¿¥°¤â£±¤Ä¤Î¥Î¡¼¥É(XmlNodeType.EndElement)¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£

¤Þ¤¿¡¢XmlReader.ReadString¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤È¡¢Í×ÁÇ¤ÎÆâÍÆ¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢¸½ºß¤Î¥Ý¥¤¥ó¥¿¤¬Í×ÁǥΡ¼¥É¤ò¼¨¤¹¤È¤­¤ËÍ×ÁÇ¤ÎÆâÍÆ¤ò¡¢Text¥Î¡¼¥É¤ò¼¨¤¹¤È¤­¤Ë¤½¤ÎÃͤò¡¢Ê¸»úÎó¤È¤·¤Æ°·¤¤¤Þ¤¹¡£


¡Ê»²¹Í¡Ë
¡¦¡ØC#¤Ç¤Ï¤¸¤á¤ëWeb¥µ¡¼¥Ó¥¹¥×¥í¥°¥é¥ß¥ó¥°¡Ù¤ÎÂ裳¾Ï¡ÖWeb¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤ÎXMLÆþÌç¡×¡Ý¡ÖXmlReader¤ÈXmlWriter¡×

¥Ö¥í¥°¥é¥ó¥­¥ó¥°
FireFox3¤Î¸ø³«Æü¤¬È¯É½¤µ¤ì¤Þ¤·¤¿¤Í¡£Êƹñ»þ´Ö17Æü¸á¸å¡ÊÆüËÜ»þ´Ö18ÆüÁáÄ«¡Ë¤È¤Î¤³¤È¤Ç¤¹¡£²ñ¼Ò¤«¤éµ¢¤Ã¤ÆÂçÂ꣤¯¤é¤¤¤Î»þ´Ö¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤è¤¦¤È»×¤¤¤Þ¤¹¡£¤¢¤È¤â¤¦¾¯¤·¤Ç¤¹¤Í¡£³Ú¤·¤ß¤Ç¤¹¡£

¤µ¤Æ¡¢º£Æü¤Ï¡¢°Ê²¼¤ÎXMLʸ½ñ¤òÍѤ¤¤Æ¡¢¥½¡¼¥¹¥³¡¼¥É¤òÍѤ¤¤ÆXmlReader¤ÎÆÉ¤ß¹þ¤ß½èÍý¤ò¸«¤Æ¤¤¤³¤¦¤È»×¤¤¤Þ¤¹¡£
<?xml version="1.0" encoding="utf-8"?>
<CDList xmlns:cdns="http://www.sample.com/cd">
  <CD>
    <Title>Âç¿Í</Title>
  </CD>
</CDList>
¤³¤ÎXMLʸ½ñ¤ò°Ê²¼¤Î¥½¡¼¥¹¥³¡¼¥É¤ÇÆÉ¤ß¹þ¤ó¤Ç¤ß¤Þ¤¹¡£
XmlReader myReader = XmlReader.Create(@"C:\Cdlist.xml");

while (myReader.Read()) {
Console.WriteLine(string.Format("NodeType:{0}, Name:{1}",
myReader.NodeType, myReader.Name));
}

(·ë²Ì)
NodeType:XmlDeclaration, Name:xml
NodeType:Whitespace, Name:
NodeType:Element, Name:CDList
NodeType:Whitespace, Name:
NodeType:Element, Name:CD
NodeType:Whitespace, Name:
NodeType:Element, Name:Title
NodeType:Text, Name:
NodeType:EndElement, Name:Title
NodeType:Whitespace, Name:
NodeType:EndElement, Name:CD
NodeType:Whitespace, Name:
NodeType:EndElement, Name:CDList
¤¤¤¯¤Ä¤«¡ÖNodeType:Whitespace¡×¤¬¸«¤é¤ì¤Þ¤¹¡£Á°²ó¤ªÏä·¤·¤¿¤È¤ª¤ê¡¢XmlReader¤Ç¤Ï¡¢¥¿¥°´Ö¤Ë¤¢¤ë¥¹¥Ú¡¼¥¹¤¬£±¤Ä¤Î¥Î¡¼¥É¤È¤·¤ÆÇ§¼±¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

º£Å٤ϡ¢XmlReaderSettings¥¯¥é¥¹¤òÍøÍѤ·¤Æ¡¢¥¿¥°´Ö¤Î¥¹¥Ú¡¼¥¹¤ò̵»ë¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
XmlReaderSettings xmlrs = new XmlReaderSettings();
xmlrs.IgnoreWhitespace = true;
XmlReader myReader = XmlReader.Create(@"C:\Cdlist.xml", xmlrs);

while (myReader.Read()) {
Console.WriteLine(string.Format("NodeType:{0}, Name:{1}",
myReader.NodeType, myReader.Name));
}

(·ë²Ì)
NodeType:XmlDeclaration, Name:xml
NodeType:Element, Name:CDList
NodeType:Element, Name:CD
NodeType:Element, Name:Title
NodeType:Text, Name:
NodeType:EndElement, Name:Title
NodeType:EndElement, Name:CD
NodeType:EndElement, Name:CDList
¤¦¤Þ¤¯¤¤¤­¤Þ¤·¤¿¡ª
¡Ê»²¹Í¡Ë
¡¦¡ØC#¤Ç¤Ï¤¸¤á¤ëWeb¥µ¡¼¥Ó¥¹¥×¥í¥°¥é¥ß¥ó¥°¡Ù¤ÎÂ裳¾Ï¡ÖWeb¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤ÎXMLÆþÌç¡×¡Ý¡ÖXmlReader¤ÈXmlWriter¡×

¥Ö¥í¥°¥é¥ó¥­¥ó¥°