XMLリテラル
InfoQの記事によると、XMLリテラルは、Haskellで開拓され、C#向けに開発され、結果的にVB.NETで実装されたそうです。
XMLリテラルを有効に使うと、XMLの変換が容易にできます。VBチームのブログを参考にXMLリテラルのコードを書いてみました。
- Contacts.xml(インプットファイル)
<?xml version="1.0" encoding="utf-8" ?> <Contacts> <Contact> <Name>ほげ助</Name> <EmailAddress>hoge@abc.com</EmailAddress> </Contact> <Contact> <Name>もげ太</Name> <EmailAddress>moge@xyz.net</EmailAddress> </Contact> </Contacts>
'XMLの読み込み Dim xmlDoc = XDocument.Load("Contacts.xml") 'ここがXMLリテラル Dim emailDoc = <?xml version="1.0"?> <Addresses> <%= xmlDoc.<Contacts>.<Contact>.<EmailAddress> %> </Addresses> 'XMLを出力 emailDoc.Save("EmailAddresses.xml")
- EmailAddresses.xml(アウトプットファイル:encodingは自動的に付加)
<?xml version="1.0" encoding="utf-8"?> <Addresses> <EmailAddress>hoge@abc.com</EmailAddress> <EmailAddress>moge@xyz.net</EmailAddress> </Addresses>
コードが短くインテリセンスも効くので、結構、便利だと思います。VBチームのブログでは、XSLTやLINQを使ったコードとの比較もしています。