Замена идентичных атрибутов в файле XML - PullRequest
0 голосов
/ 07 августа 2020

Кто-нибудь может помочь мне с приведенными ниже кодами, я очень признателен за помощь.

Ниже приведены мои коды C#, цель этого кода - заменить атрибуты внутри файла XML

protected void GenerateXML(object sender, EventArgs e)
{
    string path;
    string txtfile;
    path = Server.MapPath("~\\Temp\\myxml.xml");
    string dpath = Server.MapPath("~\\Download\\");
    txtfile = File.ReadAllText(path);
    foreach (GridViewRow srow in Main.Rows)
    {
        string batype = srow.Cells[0].Text;

        string apath = dpath + "XML_Report";
        if (!Directory.Exists(apath))
            Directory.CreateDirectory(apath);
        string Outxmlfile = apath + ".xml";
        if (!File.Exists(Outxmlfile))
        {
            using (StreamWriter txtsw = File.CreateText(Outxmlfile))
            {
                txtsw.WriteLine(txtfile);
            }
            txtfile = txtfile.Replace(("<celName>"), batype);

            File.WriteAllText(Outxmlfile, txtfile);
        }
    }
}

Ниже приведены мои коды для моего Gridview с именем «Main»

<div class="tabContents">   
    <asp:MultiView ID="MultiView1" ActiveViewIndex="0" runat="server">
        <asp:View ID="View1" runat="server">
            <asp:GridView ID="Main" runat="server" AllowUserToAddRows="False"  HorizontalAlign="Left" Font-Bold="True" Height="10px" AllowSorting="True">
                <HeaderStyle BackColor="#FF9966" Font-Bold="True" Font-Size="Large" ForeColor="White" Wrap="False" />
            </asp:GridView>
        </asp:View>
    </asp:MultiView>
</div>

Я использовал шаблон xml. xml, содержащий следующие элементы:

<mainelement>
  <p name="BatteryCellName"><celName></p>
  <p name="BatteryCellName"><celName></p>
  <p name="BatteryCellName"><celName></p>     
</mainelement>

Я хотел заменить атрибут celName на тот, который отображается в Gridview введите здесь описание изображения

Я хочу, чтобы результат был ниже:

<mainelement>
  <p name="BatteryCellName">Lithium-ion</p>
  <p name="BatteryCellName">Nickel Cadmium</p>
  <p name="BatteryCellName">Nickel-Metal Hydride</p>      
</mainelement>

Но каждый раз, когда я запускаю свой c#, он будет отображать только литий-ионный. Может кто-нибудь мне поможет? Я новичок ie: -)

<mainelement>
  <p name="BatteryCellName">Lithium-ion</p>
  <p name="BatteryCellName">Lithium-ion</p>
  <p name="BatteryCellName">Lithium-ion</p>   
</mainelement>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...