내 루비 스크립트에서 수정하고 저장해야하는 xml 파일이 있습니다. XML 파일은 `내가 <mtn:test-case title="Train-Consist-Message">
에서 제공 <mtn:ttl>some other value</mtn:ttl>
와 <mtn:ttl>4</mtn:ttl>
를 교체하고 저장해야 일치하는 항목을 찾은 후 ruby 파일의 문자열을 바꾸는 방법
<mtn:messages>
<mtn:message correlation-key="0x" sequence="4">
<mtn:header>
<mtn:protocol-version>0x4</mtn:protocol-version>
<mtn:message-type>0x0F04</mtn:message-type>
<mtn:ttl>4</mtn:ttl>
<mtn:qos-class-of-service>0</mtn:qos-class-of-service>
<mtn:qos-priority>2</mtn:qos-priority>
</mtn:header>
</mtn:message>
</mtn:messages>
</mtn:test-case>
<mtn:test-case title="Train-Consist-Message">
<mtn:messages>
<mtn:message correlation-key="0x" sequence="4">
<mtn:header>
<mtn:protocol-version>0x4</mtn:protocol-version>
<mtn:message-type>0x0F04</mtn:message-type>
<mtn:ttl>4</mtn:ttl>
<mtn:qos-class-of-service>0</mtn:qos-class-of-service>
<mtn:qos-priority>2</mtn:qos-priority>
</mtn:header>
</mtn:message>
</mtn:messages>
</mtn:test-case>`
같이 보입니다.
아래 코드로 작성했지만 모든 발생을 <mtn:ttl>4</mtn:ttl>
으로 바꿉니다.
`doc = IO.read(ENV['CadPath1']+ "conf\\cad-mtn-config.xml")
doc.gsub!(pattern, str)
File.open("File path", "w"){|fh| fh.write(doc)}`
제발 도와주세요. 빠른 회신을 기다리는 중 ...
패턴 (표시되지 않음)이 잘못되었을 가능성이 있습니다. 또한 XML 문서를 구문 분석하기 위해 정규식을 사용하지 않을 것입니다. –