HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2005 Tips > XML Tips メニュー> XmlReader Tips メニュー

06.空白を無視する

UPDATE:2006/08/04 

<< 前のTips  次のTips >>

 


 XMLファイルの読み取り時に、意味のない空白(読みやすくするためにマークアップの分離に使用する、空白、タブ、および空白行)を無視するには、XmlReaderSettingsクラスのIgnoreWhitespaceプロパティをtrueにし、XmlReaderのCreateメソッドに渡します。

 
サンプル1
System.Xml.XmlReaderSettings st = new System.Xml.XmlReaderSettings();
//空白を無視する
st.IgnoreWhitespace = true;

System.Xml.XmlReader reader = System.Xml.XmlReader.Create(@"C:\Work\Test.xml", st);

while (reader.Read())
{
    switch (reader.NodeType)
    {
        case System.Xml.XmlNodeType.Element:
            Console.WriteLine("<{0}>", reader.Name);
            break;
        case System.Xml.XmlNodeType.Text:
            Console.WriteLine(reader.Value);
            break;
        case System.Xml.XmlNodeType.CDATA:
            Console.WriteLine("<![CDATA[{0}]]>", reader.Value);
            break;
        case System.Xml.XmlNodeType.ProcessingInstruction:
            Console.WriteLine("<?{0} {1}?>", reader.Name, reader.Value);
            break;
        case System.Xml.XmlNodeType.Comment:
            Console.WriteLine("<!--{0}-->", reader.Value);
            break;
        case System.Xml.XmlNodeType.XmlDeclaration:
            Console.WriteLine("<?xml version='1.0'?>");
            break;
        case System.Xml.XmlNodeType.Document:
            break;
        case System.Xml.XmlNodeType.DocumentType:
            Console.WriteLine("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
            break;
        case System.Xml.XmlNodeType.EntityReference:
            Console.WriteLine(reader.Name);
            break;
        case System.Xml.XmlNodeType.EndElement:
            Console.WriteLine("</{0}>", reader.Name);
            break;
    }
}

//リーダーを閉じる
reader.Close();


 
サンプル2
//サンプルXMLファイル
<?xml version="1.0" encoding="utf-8"?>
<!--アドレスリスト-->
<Address_Lists>
    <AddressList ID="111">
        <ZIP_CODE>123-4567</ZIP_CODE>
        <ADDRESS>東京都渋谷区</ADDRESS>
    </AddressList>
    <AddressList ID="222">
        <ZIP_CODE>333-7777</ZIP_CODE>
        <ADDRESS>北海道苫小牧市</ADDRESS>
    </AddressList>
    <AddressList ID="333">
        <ZIP_CODE>111-2222</ZIP_CODE>
        <ADDRESS>茨城県水戸市</ADDRESS>
    </AddressList>
</Address_Lists>
 

<< 前のTips  次のTips >>