2010-02-09 4 views
1

은 어떻게 XML 파일의 innerText와 뭔가를 작성하려면 어떻게해야합니까 나는이 같은 파일에서 particualar 태그를 읽을 수 있어요쓰기 innerText와는

:

protected void Page_Load(object sender, EventArgs e) 
    {// this is to read from xml. 
     if (!Page.IsPostBack) 
     { 
      XmlDocument xmlDoc = new XmlDocument(); 

      xmlDoc.Load(@"C:\configfolder\config.xml"); 

      XmlNodeList portNo = xmlDoc.GetElementsByTagName("AgentConfigRepository"); 
      foreach (XmlNode node in portNo) 
      { 
       XmlElement bookElement = (XmlElement)node; 
       string no = bookElement.GetElementsByTagName("OVERRIDE_CONFIG_FILE_NAME")[0].InnerText; 
       TextBox1.Text = no; 
      } 
     } 
    } 

지금 내가 변경하려면 OVERRIDE_CONFIG_FILE_NAME

의 innerText와의 값이 내 xml 파일이 모습입니다 같은 :

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<AgentConfigRepository> 
    <SERVER_SHARE_SW_DIR_NAME val="singleVal">AgentSW</SERVER_SHARE_SW_DIR_NAME> 
    <OVERRIDE_CONFIG_FILE_NAME val="singleVal">override_config.xml</OVERRIDE_CONFIG_FILE_NAME> 
    <MAINTAIN_AGENT_SW_LEVEL val="singleVal">1.0</MAINTAIN_AGENT_SW_LEVEL> 
    <MAINTAIN_AGENT_SW_PATCH_LEVEL val="singleVal">0</MAINTAIN_AGENT_SW_PATCH_LEVEL> 
</AgentConfigRepository> 

그래서 override_config.xml을 텍스트 상자의 다른 값으로 변경하고 싶습니다.

어떤 제안 .. 감사

답변

2

당신하여 XDocument를 사용하는 경우, 그것은 아주 사소한된다 :

XDocument xdoc = XDocument.Load(@"C:\configfolder\config.xml"); 
xdoc.Root.Element("OVERRIDE_CONFIG_FILE_NAME").SetValue("HelloThere"); 
xdoc.Save(@"C:\so2.xml"); 
1

불행하게도이 (나는 위치에 아닙니다 테스트하는) 순간 안된하지만, 요소의 innerText와 변경하려고하면 질문의 외모에서이 줄을 발견 한 :

bookElement.GetElementsByTagName("OVERRIDE_CONFIG_FILE_NAME")[0].InnerText; 

텍스트 상자에 무엇이든 할 수 있습니다. 일반적으로 당신은 문을 다음과 같이 원하는 :

bookElement.GetElementsByTagName("OVERRIDE_CONFIG_FILE_NAME")[0].InnerText = "new text" 

새로운 텍스트 앱에서 텍스트 상자에서 문자열이나 다른 변수하거나 (이 예에서와 같이) 하드 코딩 할 수 있습니다. 희망이 도움이됩니다. (팀 C 말했듯이)

+0

내가 전에 이것을 시도했지만 그것은 다음과 같이 혼자 작동하지 않았다 .. . 그래도 고마워 – user175084

1

당신은이 작업을 수행 할 때, 그러나, 그것은 단지 XMLDocument 객체에 설정

다른 특성처럼 innerText와를 설정할 수 있습니다. 파일의 변화를보기 위해, 당신은 다시 파일에 변경 내용을 저장해야 할 :

bookElement.save (파일 이름)