在asp.net中从XML读取菜单项

时间:2013-01-21 09:25:33

标签: asp.net xml menu

我正在建立一个多语种网站,提供四种语言。我将使用asp:MenuItem控件。对于每种语言,我想从XML文档中读取菜单项的名称。 XML草案可以被认为如下:

<root>
    <language>
        <en>
            <home>
                <link>Default.aspx</link>
                <text>Home</text>
           </home>
            <about>
                <link>About.aspx</link>
                <text>About</text>
            </about> 
        </en>
        <de>
            <home>
                <link>Default.aspx</link>
                <text>Hauptseite</text>
           </home>
           <about>
                <link>About.aspx</link>
                <text>Über</text>
            </about> 
        </de>
    </language>
</root>

我不确定语法和结构是否正确。我的另一个目标是菜单项目顺序。所有语言的订单必须相同。

我想知道如何实现这一目标。或者有另一种和/或更好的方法来做到这一点。 我的数据库也准备好了两种语言的内容。

我不想使用if-else条件。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如果所有语言都应该是相同的结构,我会建议略有不同的XML。

它将不同语言的不同名称组合在一起,如果您需要更改任何内容,应该更容易管理。

<root>
  <item>
    <link>default.aspx</link>
    <text>
      <en>Home</en>
      <de>Hauptseite</de>
    </text>
  </item>
  <item>
    <link>about.aspx</link>
    <text>
      <en>About</en>
      <de>Über</de>
    </text>
  </item>
</root>