2016-11-25 4 views
-5

どのように私は以下のコードをC#に変換できますか? 私はXML文字列を持っており、属性名を見つける必要があり、同時に親ノードに "別名"があるかどうかをチェックします。PowershellのC#相当コード

$atts = $xml.GetElementsByTagName('attribute'); 
foreach($att in $atts) 
{ 
    if($att.ParentNode.HasAttribute('alias')) 
    { 
     $attName = $att.ParentNode.GetAttribute('alias') + "." + $att.name 
     Write-Output $att.ParentNode.GetAttribute('alias') + "." + $att.name 
    } 
    else 
    { 
     $attName = $att.name 
     Write-Output $att.name 
    } 
} 
+5

あなたは何をしようとしたことがありますか?スタックオーバーフローは、フリーコード変換サービスではありません。 – CodeCaster

答えて

0
namespace StackOverflow 
{ 
    using System; 
    using System.Xml; 

    class XmlTest 
    { 
     public static void yourTest() 
     { 
      XmlDocument xmlDocument = new XmlDocument(); 
      xmlDocument.Load("yourXmlPath.xml"); 

      // It is recommended that you use the XmlNode.SelectNodes or XmlNode.SelectSingleNode method instead of the GetElementsByTagName method. 
      XmlNodeList xmlNodes = xmlDocument.GetElementsByTagName("attribute"); 

      foreach(XmlNode xmlNode in xmlNodes) 
      { 
       if (xmlNode.ParentNode.Attributes.GetNamedItem("alias") != null) 
       { 
        string attributeName = xmlNode.ParentNode.Attributes.GetNamedItem("alias").InnerText + "." + xmlNode.GetNamedItem("name").InnerText; 
        Console.WriteLine(attributeName); 
       } 
       else 
       { 
        string attributeName = xmlNode.Attributes.GetNamedItem("name").InnerText; 
        Console.WriteLine(attributeName); 
       } 
      } 
     } 
    } 
}