如何提取不属于子节点的文本?

时间:2017-10-09 15:26:37

标签: css ruby xpath text nokogiri

我正在使用Ruby 2.4和Nokogiri。如何从不属于另一个子元素的节点中提取文本?也就是说,如果我有一个节点

<a>Text 1<b>Text 2</b></a>

我想提取“文本1”而不是“文本2”。如果节点是

<c>Hello</c>

我可以直接打电话

node.text

但是“node.text”不适用于我上面描述的更复杂的情况(它会同时返回“Text 1”和“Text 2”。

2 个答案:

答案 0 :(得分:2)

您可以使用Nokogiri的function fetchJson(url) { return xhr.get({ url: url, handleAs:"json", }) } var map = new Map({ basemap: "dark-gray" }); var view = new MapView({ container: "view", map: map, zoom: 11, center: [-84.34, 33.93], padding: { left: 320 } }); view.then(function () { fetchJson(samplejsonlink) .then(function (data) { console.log(data.features[0].geometry.coordinates) var polyline = { type: "polyline", paths: data.features[0].geometry.coordinates, spatialReference: {wkid : 4326} } console.log(polyline); var polylineSymbol = { type: "simple-line", color: [226, 119, 40], width: 4 }; console.log(polylineSymbol); var polylineAtt = { Name: "ExampleName", }; console.log(polylineAtt) var polylineGraphic = new Graphic({ geometry: polyline, symbol: polylineSymbol, attributes: polylineAtt }) console.log(polylineGraphic); view.graphics.add(polylineGraphic); }) }) 选择器来仅获取父元素的文本:

xpath

答案 1 :(得分:0)

您可以执行以下操作:

doc.at('a').child.text

doc.at('a').children[0].text