簡體   English   中英

如何更改屬性類型 <TRUE/FALSE> 在XML中使用C#

[英]How to change attribute type <TRUE/FALSE> in xml using c#

我必須將“ Hierarchy_RestrictedOperations”的xml屬性值更改為TRUE到FALSE。 在這里,xml看起來像

    <BusinessRules>
    <BusinessRule>
        <Type>All_NoEmptyRequiredProperty</Type>
        <Enabled ptype="BOOLEAN">TRUE</Enabled>
    </BusinessRule>
    <BusinessRule>
        <Type>All_CheckStringLength</Type>
        <Enabled ptype="BOOLEAN">TRUE</Enabled>
    </BusinessRule>
    <BusinessRule>
<BusinessRule>
    <Type>Hierarchy_RestrictedOperations</Type>
    <Enabled ptype="BOOLEAN">TRUE</Enabled>
</BusinessRule> 
<BusinessRule>
  <Type>ProdOff_AllowAccountPOCurrencyMismatch</Type>
  <Enabled ptype="BOOLEAN">FALSE</Enabled>
</BusinessRule>
<!-- Following business rule was added for FEAT-147 -->
<BusinessRule>
  <Type>ProdOff_AllowMultiplePISubscriptionRCNRC</Type>
  <Enabled ptype="BOOLEAN">FALSE</Enabled>
</BusinessRule>
<!-- Following business rule was added for CORE-10776 -->
<BusinessRule>
  <Type>ImmediateSubscriptionTermination</Type>
  <Enabled ptype="BOOLEAN">FALSE</Enabled>
</BusinessRule>

任何人都可以使用下面的代碼嘗試使用的C#來幫助我

     XmlDocument xml = new XmlDocument();
  xml.Load("R:\\config\\ProductCatalog\\PCConfig.xml");


  XmlNodeList nodes = xml.SelectNodes("//BusinessRule");
  //XmlNodeList type = xml.SelectNodes("//Hierarchy_RestrictedOperations");
  foreach (XmlElement element in nodes)
    {

      element.SelectSingleNode("Type").InnerText = "Hierarchy_RestrictedOperations";

    }
    xml.Save("R:\\config\\ProductCatalog\\PCConfig.xml");

你可以這樣做

XDocument xdc = XDocument.Load(YourXMLFile);
xdc.Descendants("BusinessRule")
   .LastOrDefault()
   .Descendants("Enabled")
   .FirstOrDefault()
   .Value = "False";
xdc.Save(YourXMLFile);

要么

XDocument xdc = XDocument.Load(YourXMLFile);    
xdc.Descendants("BusinessRule")
   .Where(x => x.Descendants("Type")
                .FirstOrDefault()
                .Value == "Hierarchy_RestrictedOperations"
          )
   .Descendants("Enabled")
   .FirstOrDefault()
   .Value = "False";

嘗試這個:

XElement element = xml.Root.Elements("BusinessRule").Where(xElement => xElement.Element("Type").Value == "Hierarchy_RestrictedOperations").FirstOrDefault();

        if(element != null)
        {
            element.Element("Enabled").Value = "FALSE";
        }

        xml.Save("R:\\config\\ProductCatalog\\PCConfig.xml");

確保xml文件的標簽全部正確。 希望這是有用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM