2017-10-12 1 views
0

아래에 "CanToggleHidden"특성이 있는지 확인해야하는 메모리 문자열이 있습니다. 존재하지 않는 경우이 특성을 문자열에 추가해야하고 "CanToggleHidden"이 존재하면 "TRUE"값을 설정해야합니다. . 아래 코드를 사용하여 CanToggleHidden이 존재하는지 여부를 확인할 수 있습니다. 도움이 될 것입니다.xml 스키마에 특성을 추가하는 방법은 무엇입니까?

TextReader objTextReader = new StringReader(fieldSchemaXml); 
XmlTextReader reader = new XmlTextReader(objTextReader); 
reader.Read(); 
if (reader.GetAttribute("CanToggleHidden") == null) 
{ 
} 

다음은 문자열

"<Field ID=\"{b77cdbcf-5dce-4937-85a7-9fc202705c91}\" Group=\"_Hidden\" SourceID=\"http://schemas.microsoft.com/sharepoint/v4\" Name=\"IconOverlay\" StaticName=\"IconOverlay\" DisplayName=\"IconOverlay\" Type=\"Text\" Required=\"FALSE\" AllowDeletion=\"TRUE\" Version=\"6\" Sealed=\"FALSE\" Hidden=\"TRUE\" CanToggleHidden=\"TRUE\" />" 

답변

1

먼저 적절한 된 XmlDocument로 문자열을 구문 분석, 다음을 사용할 수 있습니다에게 있습니다. 그런 다음 rootNode를 점점 잘 덕분에 그것은 일

[TestClass] 
public class UnitTest1 
{ 
    [TestMethod] 
    public void TestMethod1() 
    { 
     XmlDocument doc = new XmlDocument(); 

     doc.LoadXml("<Field ID=\"{b77cdbcf-5dce-4937-85a7-9fc202705c91}\" Group=\"_Hidden\" SourceID=\"http://schemas.microsoft.com/sharepoint/v4\" Name=\"IconOverlay\" StaticName=\"IconOverlay\" DisplayName=\"IconOverlay\" Type=\"Text\" Required=\"FALSE\" AllowDeletion=\"TRUE\" Version=\"6\" Sealed=\"FALSE\" Hidden=\"TRUE\" CanToggleHidden=\"TRUE\" />"); 

     var element = doc.DocumentElement; 
     if (element.Attributes["CanToggleHidden"] != null) 
      element.SetAttribute("CanToggleHidden", "TRUE"); 

     Console.WriteLine(doc.ToString()); 
    } 
} 
+0

(문자열이 단 하나의 노드를 포함로 그렇지 않은 경우, 당신은 doc.GetElementById() 할 필요). –

관련 문제