提问人:Legioon 提问时间:1/26/2023 最后编辑:Legioon 更新时间:1/26/2023 访问量:123
如何使用命名空间 NS2 从 XML 中获取价值
how can get value from xml with namespace ns2
问:
我正在使用 Rest API 从我的应用程序中获取任务状态。有时我得到的是“ns2:”的响应,有时我得到的响应是没有“ns2”的,如下图所示;
当我得到没有“ns2”的响应时,我可以使用以下命令获取任务状态。
var document = XMLManager.fromString(xmlstring);
TaskState = document.getElementsByTagName("Task").item(0).getAttribute("status");
但是,如果我得到“ns2”的响应,我将无法获得任务状态。我收到以下错误;TypeError:无法调用 null 的方法“getAttribute”
如何从两个响应中获取任务状态?
<Task xmlns="http://www.microsoft.com/cloud/v1.5" xmlns:vmext="http://www.microsoft.com/cloud/extension/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.microsoft.com/schema/ovf" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:ns9="http://www.microsoft.com/cloud/versions" status="queued" operation="Creating Group" operationName="vdcGroupCreate" serviceNamespace="com.microsoft.cloud" startTime="2022-11-29T12:12:14.226+03:00" expiryTime="2022-12-29T12:12:14.226+03:00" cancelRequested="false" name="task" id="urn:cloud:task:4af7626c-29f2-45f8-bc85-f1017433bec1" href="https://domain.domain.com/api/task/4af7626c-29f2-45f8-bc85-f1017433bec1" type="application/vnd.microsoft.cloud.task+xml">
<Link rel="edit" href="https://domain.domain.com/api/task/4af7626c-29f2-45f8-bc85-f1017433bec1" type="application/vnd.microsoft.cloud.task+xml" name="task"/>
<Link rel="edit" href="https://domain.domain.com/api/task/4af7626c-29f2-45f8-bc85-f1017433bec1" type="application/vnd.microsoft.cloud.task+json" name="task"/>
<Owner href="" id="urn:cloud:vdcGroup:215982ef-a837-47ba-b25f-915140584c98" type="application/json" name="test-DCG-DEFAULT"/>
<User href="https://domain.domain.com/api/admin/user/58b3a41b-1e9a-4a63-8ac3-fb26c50a78bb" id="urn:cloud:user:58b3a41b-1e9a-4a63-8ac3-fb26c50a78bb" type="application/vnd.microsoft.admin.user+xml" name="dev-svc-vro"/>
<Organization href="https://domain.domain.com/api/org/a93c9db9-7471-3192-8d09-a8f7eeda85f9" id="urn:cloud:org:a93c9db9-7471-3192-8d09-a8f7eeda85f9" type="application/vnd.microsoft.cloud.org+xml" name="System"/>
<Details></Details>
<VcTaskList/>
</Task> ```
--------------------------------------------
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Task xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ns2="http://www.microsoft.com/cloud/v1.5" xmlns:vmext="http://www.microsoft.com/cloud/extension/v1.5" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.microsoft.com/schema/ovf" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:ns9="http://www.microsoft.com/cloud/versions" status="queued" operation="Creating Group" operationName="vdcGroupCreate" serviceNamespace="com.microsoft.cloud" startTime="2023-01-25T15:09:09.716Z" expiryTime="2023-02-24T15:09:09.716Z" cancelRequested="false" name="task" id="urn:cloud:task:7b3b217d-e618-48b6-a7c5-d51c96f41b14" href="https://demo.domain.com/api/task/7b3b217d-e618-48b6-a7c5-d51c96f41b14" type="application/vnd.microsoft.cloud.task+xml">
<ns2:Link rel="edit" href="https://demo.domain.com/api/task/7b3b217d-e618-48b6-a7c5-d51c96f41b14" type="application/vnd.microsoft.cloud.task+xml" name="task"/>
<ns2:Link rel="edit" href="https://demo.domain.com/api/task/7b3b217d-e618-48b6-a7c5-d51c96f41b14" type="application/vnd.microsoft.cloud.task+json" name="task"/>
<ns2:Owner href="" id="urn:cloud:vdcGroup:356a425f-b334-416a-9f1a-2b1c72228588" type="application/json" name="1463341310test3-DCG-DEFAULT"/>
<ns2:User href="https://demo.domain.com/api/admin/user/fb6f0924-11b7-40d3-bed4-7a582ba8b529" id="urn:cloud:user:fb6f0924-11b7-40d3-bed4-7a582ba8b529" type="application/vnd.microsoft.admin.user+xml" name="prod-svc-vro"/>
<ns2:Organization href="https://demo.domain.com/api/org/a93c9db9-7471-3192-8d09-a8f7eeda85f9" id="urn:cloud:org:a93c9db9-7471-3192-8d09-a8f7eeda85f9" type="application/vnd.microsoft.cloud.org+xml" name="System"/>
<ns2:Details></ns2:Details>
<ns2:VcTaskList/>
</ns2:Task>```
答:
0赞
Jack Fleeting
1/26/2023
#1
尝试更改
TaskState
自
document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml",
"ns2:task"
)[0].getAttribute('status')
看看它是否有效。
评论