aris
August 28, 2012, 1:04pm
1
Hi all,
I am trying to run some xpath queries on a XML file. But it seems
nokogiri can not handle texts containing & values.
here is an example, second line prints nothing. if i change & to
something else in both xml and xpath expression, i get the values i
expect.
How can i query xpath expressions with XML excapes?
file_xml = Nokogiri::XML File.open(file_configurable)
print
file_xml.xpath("//Match[text()=‘value1&value2’]/…/Value").text.to_s
thanks everyone.
MertSS
August 28, 2012, 1:11pm
2
On Tue, Aug 28, 2012 at 1:04 PM, Mert [email protected] wrote:
Hi all,
I am trying to run some xpath queries on a XML file. But it seems
nokogiri can not handle texts containing & values.
That’s not true. The issue is with your understanding (or lack
thereof) of XML Entities. See below.
here is an example, second line prints nothing. if i change & to
something else in both xml and xpath expression, i get the values i
expect.
How can i query xpath expressions with XML excapes.
file_xml = Nokogiri::XML File.open(file_configurable)
print
file_xml.xpath(“//Match[text()=‘value1&value2’]/…/Value”).text.to_s
We would need to see your input but I guess it’s something like this:
irb(main):001:0> xml = “foo&bar ”
=> “foo&bar ”
irb(main):002:0> dom = Nokogiri.XML(xml)
=> #<Nokogiri::XML::Document:0x…fc0107cf6 name=“document”
children=[#<Nokogiri::XML::Element:0x…fc0107b34 name=“a”
children=[#<Nokogiri::XML::Text:0x…fc010795e “foo&bar”>]>]>
irb(main):003:0> dom.xpath ‘//a[text()=“foo&bar”]’
=> [#<Nokogiri::XML::Element:0x…fc0107b34 name=“a”
children=[#<Nokogiri::XML::Text:0x…fc010795e “foo&bar”>]>]
You tried
irb(main):004:0> dom.xpath ‘//a[text()=“foo&bar”]’
=> []
That does not work because the “&” only exists in the external
representation of the XML (the file). The XML Entity is parsed and
the document contains the literal “&”:
irb(main):005:0> dom.root.text.to_s
=> “foo&bar”
irb(main):006:0> dom.root.text
=> “foo&bar”
Kind regards
robert
MertSS
August 28, 2012, 1:41pm
3
That’s not true. The issue is with your understanding (or lack
thereof) of XML Entities. See below.
Thank you very much for your encouragement. I hope you have an
understanding of everything.
Thank you for the answer
MertSS
August 28, 2012, 2:33pm
4
Mert wrote in post #1073558:
That’s not true. The issue is with your understanding (or lack
thereof) of XML Entities. See below.
Thank you very much for your encouragement. I hope you have an
understanding of everything.
Thank you for the answer
Question not the capabilities of Nokogiri or ye shall be judged!
MertSS
August 28, 2012, 3:10pm
5
Mert wrote in post #1073568:
What are you judging? Such a cruel forum.
That was a joke. And now stop whining, please.
MertSS
August 28, 2012, 2:39pm
6
Joel P. wrote in post #1073566:
Mert wrote in post #1073558:
That’s not true. The issue is with your understanding (or lack
thereof) of XML Entities. See below.
Thank you very much for your encouragement. I hope you have an
understanding of everything.
Thank you for the answer
Question not the capabilities of Nokogiri or ye shall be judged!
What are you judging? Such a cruel forum.
MertSS
August 28, 2012, 3:19pm
7
On Tue, Aug 28, 2012 at 1:41 PM, Mert [email protected] wrote:
That’s not true. The issue is with your understanding (or lack
thereof) of XML Entities. See below.
Thank you very for your encouragement. I hope you have an understanding
of everything.
You’re right. That was a bit rude. I apologize.
Now, back to the factual: I hope you did not stop reading at that
line. Is your question answered?
Kind regards
robert
MertSS
August 28, 2012, 4:07pm
8
On Tue, Aug 28, 2012 at 3:31 PM, Mert [email protected] wrote:
Robert K. wrote in post #1073576:
Now, back to the factual: I hope you did not stop reading at that
line. Is your question answered?
Thank you for the apology. Honestly i could not focus on the rest of it.
I made a mistake, and asked a question without any wrong intension.
I am not sure I understand. You asked a perfectly legal question.
Now, is your question answered?
I would be happy in the afternoon if someone could delete this post.
That’s not possible on a mailing list.
Cheers
robert
MertSS
August 28, 2012, 3:31pm
9
Robert K. wrote in post #1073576:
On Tue, Aug 28, 2012 at 1:41 PM, Mert [email protected] wrote:
That’s not true. The issue is with your understanding (or lack
thereof) of XML Entities. See below.
Thank you very for your encouragement. I hope you have an understanding
of everything.
You’re right. That was a bit rude. I apologize.
Now, back to the factual: I hope you did not stop reading at that
line. Is your question answered?
Kind regards
robert
Thank you for the apology. Honestly i could not focus on the rest of it.
I made a mistake, and asked a question without any wrong intension. I
would be happy in the afternoon if someone could delete this post.