0
나는 아주 간단하지만 실제로 성가신 무엇인가 붙어있다 : 콘텐츠에 줄 바꿈과 whitspaces가 포함 된 xml 파일이 하나있다. 슬프게도 XML을 바꿀 수 없습니다.레일스 - 공백과 줄 바꿈에서 XML 가져 오기
<?xml version="1.0" encoding="utf-8" ?>
<ProductFeed>
ACME 회사 Fooproduct 푸 루트 :: 바 카테고리 내가 노드에 도착하고 문제없이 읽을 수
:이 결과
url = "http://feeds.somefeed/feed.xml.gz"
@source = open((url), :http_basic_authentication=>["USER", "PW"])
@gz = Zlib::GzipReader.new(@source)
@result = @gz.read
@doc = Nokogiri::XML(@result)
@doc.xpath("/ProductFeed/Vendors/Vendor").each do |manuf|
vendor = manuf.css("Name").first.text
manuf.xpath("//child::Product").each do |product|
product_name = product.css("Name").text
foocat = product.css("Category").text
puts "#{vendor} ---- #{product_name} ---- #{foocat} "
end
end
:
ACME Ltd. ---- Fooproduct ----
Foo Root :: Bar Category
분명히 product.css ("Category")가 반환 한 문자열에 줄 바꿈과 탭 중지 또는 공백이 있습니다.
누구나 linebreaks 및 tap 또는 space에서 결과를 제거하는 방법을 알고 있습니까?
는 또한 내가 돕는
barcat = Category.find_by_foocat(foocat)
감사처럼 'foocat'에서 발견 할 다음 단계에서 그것을 할 수 있습니다!
발
안녕하세요 Santiiii, 아이디어를 주셔서 감사합니다! 이전에는 xslt를 사용하지 않았으며 테스트 해 보았습니다. 완성을 위해 : 실제로 원하는 노드에서 '.text) .strip'을 호출했습니다. cat = (product.css ("Category"). 텍스트) .strip 이유는 nokogiri를 사용한 나의 특정 설정이 그렇게 쉽게 만들었 기 때문입니다. –
그것이 효과가있어 기쁩니다. 문안 인사 –