格式化 XML 标签

本文关键字:标签 XML 格式化 | 更新日期: 2023-09-27 18:36:59

使用此 XML 文件 -

<Instructions>
  <Admin>
  <Instruction>
    Steps must be completed in order.&lt;/br&gt;
    1. Set dates&lt;/br&gt;
    2. Import.&lt;/br&gt;
    3. Generate.&lt;/br&gt;
  </Instruction>
  <Style>
    <padding-left value="50px"/>
    <padding-right value="0px"/>
  </Style>
  </Admin>
</Instructions>

而这段代码——

    public void LoadInstructions(String instructionKey) {
        XmlNode instLabel = mPropsDoc.SelectSingleNode("ApplicationProperties/Instructions/Admin/Instruction");
        XmlNode instStyle = mPropsDoc.SelectSingleNode("ApplicationProperties/Instructions/Admin/Style");
        Label ctlInst = new Label();
        ctlInst.Text = instLabel.InnerText;
        foreach (XmlElement styles in instStyle.ChildNodes) {
            ctlInst.Style.Add(styles.Name, styles.Attributes["value"].Value);
        }
        PageContent.Controls.AddAt(0, ctlInst);
    }

其中 PageContent 是我页面上的 ContentPlaceHolder。

样式仅应用于第一个元素,控件呈现为 span 控件。

为什么

它没有呈现为标签,为什么样式只应用于第一行?

格式化 XML 标签

如果你想kkep格式,你需要把它放到CDATA元素中

<Instruction>
<![CDATA[Steps must be completed in order</br>
               1. Set dates</br>
               2. Import</br>     
               3. Generate</br>]]>
</Instruction>

话虽如此,我会标记这个批次,然后在需要时构建演示文稿,它将继续是一个 PIA。

我所知,System.Web.UI.Label 元素(我假设您正在使用)总是呈现为 。要创建<标签> - 您需要System.Web.UI.HtmlGenericControl("label")。