2011-08-16 6 views
0
<asp:TableCell> 
     <asp:Localize ID="lblPlntnextOneCtrlRes" meta:resourcekey="lblPlntnextOneCtrlRes" runat="server" /> 
     <asp:Button ID="cmdPlntAcceptnextOneCtrlRes" meta:resourcekey="cmdPlntAcceptnextOneCtrlRes" OnClick="cmdQualAccept_Click" runat="server" Text="Accept" Visible="True" /> 
    </asp:TableCell> 
    </asp:TableRow> 
</asp:Table> 

私はXmlDocumentオブジェクトを使用して出力の並べ替えを取得したいのですが、私は、ASPのための名前空間のエラーを得続ける:メタ:xmldocumentを使用してASPタグを追加するにはどうすればよいですか?

私はマークアップを生成するとき、現在、私はこれで終わる(だろうが)それは上記のように見えるようにしたい:

Dim markupRoot As XmlElement = markup.DocumentElement 

Dim rowElement As XmlElement = markup.CreateElement("TableRow") 
Dim cellElement As XmlElement = markup.CreateElement("TableCell") 
Dim contentElement As XmlElement = markup.CreateElement("Localize") 
contentElement.SetAttribute("ID", "tag" & ctrlName & "DescRes") 
contentElement.SetAttribute("resourcekey", "tag" & ctrlName & "DescRes") 
contentElement.SetAttribute("runat", "server") 

cellElement.AppendChild(contentElement) 
rowElement.AppendChild(cellElement) 

cellElement = markup.CreateElement("TableCell") 
contentElement = markup.CreateElement("Localize") 
contentElement.SetAttribute("ID", "tag" & ctrlName & "NoteRes") 
contentElement.SetAttribute("resourcekey", "tag" & ctrlName & "NoteRes") 
contentElement.SetAttribute("runat", "server") 

cellElement.AppendChild(contentElement) 
rowElement.AppendChild(cellElement) 
+0

構文を呼び出すことはできませんが、 'asp'の名前空間を追加するだけではありませんか?私は要素を作成するのオーバーロードがあると思う... –

+0

私は名前空間を追加するための何も見つかりませんでした。 – dotnetN00b

答えて

1

は試してみてください:

<TableCell> 
     <Localize ID="lblPlntnextOneCtrlRes" resourcekey="lblPlntnextOneCtrlRes" runat="server" /> 
     <Button ID="cmdPlntAcceptnextOneCtrlRes" resourcekey="cmdPlntAcceptnextOneCtrlRes" OnClick="cmdQualAccept_Click" runat="server" Text="Accept" Visible="True" /> 
    </TableCell> 
    </TableRow> 
</Table> 

は、ここで私は、マークアップを作成するために使用しているコードの一部です

cellElement = markup.CreateElement("asp:TableCell","asp") 
+0

コードでエラーが発生しないように、実際のxmlドキュメント自体に何かを追加する必要がありますか? – dotnetN00b

+0

可能性としてこれをトップレベル要素またはmarkup.documentElementに追加してください:Element.SetAttribute( "xmlns:asp"、 "http://asp.net/XMLSchema")もちろん、正しいスキーマURLを取得する必要があります。 –

+0

私はこれを見つけました:http://www.w3schools.com/xml/xml_namespaces.asp投稿したものと同じに見えます。ありがとう、ラス。 – dotnetN00b

0

私は、デフォルトの名前空間を設定するために見つけた方法は以下の通りです:

結果として得られるXML(注:ルート・ノードでの名前空間を手動で追加されました) -

<?xml version="1.0" encoding="utf-8"?> 
<Root xmlns:asp="http://admin.test.com/asp" xmlns:meta="http://admin.test.com/meta" xmlns:cc1="http://admin.test.com/cc1"> 
<cc1:TabContainer ID="wfwContainer" runat="server" AutoPostBack="True" ActiveTabIndex="0"> 
    <cc1:TabPanel ID="wfwTab" runat="server" HeaderText=""> 
     <HeaderTemplate> 
     <asp:Localize ID="tagwfwRes" meta:resourcekey="tagwfwRes" runat="server" /> 
     </HeaderTemplate> 
     <ContentTemplate /> 
    </cc1:TabPanel> 
    </cc1:TabContainer> 
</Root> 

コードことxmlを生成する -

Protected Sub createMarkupForTabs() 

    Dim markup As XmlDocument = New XmlDocument() 
    Dim truePath As String = Server.MapPath("Test.xml") 

    markup.Load(truePath) 

    Dim markupRoot As XmlElement = markup.DocumentElement 

    Dim tabContainerElement As XmlElement = markup.CreateElement("cc1", "TabContainer", "http://admin.test.com/cc1") 
    Dim tabElement As XmlElement = markup.CreateElement("cc1", "TabPanel", "http://admin.test.com/cc1") 

    Dim headTempElement As XmlElement = markup.CreateElement("HeaderTemplate") 
    Dim headerContentElement As XmlElement = markup.CreateElement("asp", "Localize", "http://admin.test.com/asp") 
    Dim contentTempElement As XmlElement = markup.CreateElement("ContentTemplate") 

    headerContentElement.SetAttribute("ID", "tag" & mainTabName.Text & "" & "Res") 
    headerContentElement.SetAttribute("resourcekey", "http://admin.test.com/meta", "tag" & mainTabName.Text & "" & "Res") 
    headerContentElement.SetAttribute("runat", "server") 

    headTempElement.AppendChild(headerContentElement) 

    tabElement.SetAttribute("ID", mainTabName.Text & "" & "Tab") 
    tabElement.SetAttribute("runat", "server") 
    tabElement.SetAttribute("HeaderText", "") 

    tabElement.AppendChild(headTempElement) 
    tabElement.AppendChild(contentTempElement) 

    tabContainerElement.SetAttribute("ID", mainTabName.Text & "Container") 
    tabContainerElement.SetAttribute("runat", "server") 
    tabContainerElement.SetAttribute("AutoPostBack", "True") 
    tabContainerElement.SetAttribute("ActiveTabIndex", "0") 

    tabContainerElement.AppendChild(tabElement) 

    markupRoot.AppendChild(tabContainerElement) 

    markup.Save(truePath) 
End Sub