HTML, XML文字列の生成
プログラムやアプリ内で、HTMLやXMLを出力する処理は意外に多くあります。今日は簡単にHTMLを生成する方法について紹介します。
タグ文字の作成にはXmlDocument クラスを使用することができます。以下に簡単な例を示します。
Private Sub makeHTL()
Dim document As New Xml.XmlDocument
Dim ul As Xml.XmlElement = Nothing
Dim li As Xml.XmlElement = Nothing
Dim span As Xml.XmlElement = Nothing
Dim text As Xml.XmlText = Nothing
ul = document.CreateElement("ul") 'ulタグを作成します。
setAttributes(document, ul, "class", "style-ul") 'ulタグにstyle-ulというクラスをセットします。
document.AppendChild(ul) 'ulタグをドキュメントオブジェクトに追加します。
li = document.CreateElement("li") 'liタグを作成します。
setAttributes(document, li, "class", "style-li") 'liタグにstyle-liというクラスをセットします。
span = document.CreateElement("span") 'spanタグを作成します。
Text = document.CreateTextNode("こんにちは") 'textノードを作成し、「こんにちは」という値をセットします。
span.AppendChild(text) 'textノードをspanタグに追加します。
li.AppendChild(span) 'spanタグをliタグに追加します。
ul.AppendChild(li) 'liタグをulタグに追加します。
Console.WriteLine(document.InnerXml) '生成した文字列を出力します。
Ens Sub
'ノードの属性値をセットする関数です。
Private Shared Sub setAttributes(ByRef doc As Xml.XmlDocument, ByRef El As Xml.XmlElement, attrName As String, attrValue As String)
Dim attr As Xml.XmlAttribute
attr = doc.CreateAttribute(attrName)
attr.Value = attrValueEl.Attributes.Append(attr)
End Sub
上記のようにしてHTMLやXML文字列を作成できます。 整形していますが、出力結果は以下の通りです。
<ul class="style-ul">
<li class="style-li">
<span>こんにちは</span>
</li>
</ul>