0
XML 파일 (configs.xml
)의 내용을 읽고 다른 XML 파일 (workspace.xml
)의 중간에 삽입하려고합니다.XML의 각괄호가 HTML 코드로 대체 되었습니까?
require "nokogiri"
workspace = File.open("workspace.xml")
xml = Nokogiri::XML(workspace)
workspace.close
# Add new configs
configs = File.read("configs.xml")
xml.search('component[name="RunManager"]').each do |node|
node.content=configs
end
puts xml
출력은 다음과 같습니다 :
이
코드입니다<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidLayoutPreviewToolWindow">
<option name="state">
<GlobalState/>
</option>
</component>
<component name="RunManager" selected="Android Application.Run on device">
<configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
<module name="" />
<option name="TESTING_TYPE" value="0" />
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
<option name="METHOD_NAME" value="" />
<option name="CLASS_NAME" value="" />
</configuration>
</component>
<component name="ShelveChangesManager" show_recycled="false"/>
<component name="SliceManager" selected="Android Application.Run on device">
<option name="analysisUIOptions">
<AnalysisUIOptions/>
</option>
</component>
</project>
당신은 중간에 삽입 된 내용이 HTML 코드 < >
을 대체 모든 각도 중괄호 < >
을 가지고 볼 수 있듯이 , 그리고 나는 이것이 인코딩으로 무언가를해야만한다고 생각하지만, 왜 그런지 모르겠습니다. 가장 흥미로운 무엇
혼자 configs.xml
의 내용을 인쇄하기 (하나의 삽입 및 수정 가도록)이라면 출력이로 예상된다는 점이다 :
<configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
<option name="TESTING_TYPE" value="0" />
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
<option name="METHOD_NAME" value="" />
// ............
</configuration>