|
1 | 1 | const xml2js = require('xml2js'); |
| 2 | +const { get } = require('lodash'); |
2 | 3 |
|
3 | 4 | async function parse(fileContent) { |
4 | 5 | const hosts = await parseResultFile(fileContent); |
@@ -271,13 +272,13 @@ function parseResultFile(fileContent) { |
271 | 272 |
|
272 | 273 | const port = parseInt(portItem.$.portid, 10); |
273 | 274 | const protocol = portItem.$.protocol; |
274 | | - const service = portItem.service[0].$.name; |
275 | | - const serviceProduct = portItem.service[0].$.product; |
276 | | - const serviceVersion = portItem.service[0].$.version; |
| 275 | + const service = get(portItem, ["service",0,"$","name"]); |
| 276 | + const serviceProduct = get(portItem, ["service",0,"$","product"]); |
| 277 | + const serviceVersion = get(portItem, ["service",0,"$","version"]); |
277 | 278 |
|
278 | | - const tunnel = portItem.service[0].$.tunnel; |
279 | | - const method = portItem.service[0].$.method; |
280 | | - const product = portItem.service[0].$.tunnel; |
| 279 | + const tunnel = get(portItem, ["service",0,"$","tunnel"]); |
| 280 | + const method = get(portItem, ["service",0,"$","method"]); |
| 281 | + const product = get(portItem, ["service",0,"$","tunnel"]); |
281 | 282 |
|
282 | 283 | const state = portItem.state[0].$.state; |
283 | 284 |
|
|
0 commit comments