gpt4 book ai didi

xml - Delphi XML 绑定(bind)向导和可选元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:36:55 25 4
gpt4 key购买 nike

在我的 XSD 中我有:

  <xs:complexType name="scheduleLocation">
<xs:sequence>
<xs:element name="arrivalTime" type="hhmmss" default="00:00:00" minOccurs="0"/>
<xs:element name="departureTime" type="hhmmss" default="00:00:00" minOccurs="0"/>
<xs:element name="passingTime" type="xs:boolean" default="false" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

意味着以下 XML 提取是有效的:

<scheduleLocation>
<arrivalTime>07:33:00</arrivalTime>
<departureTime>07:34:00</departureTime>
</scheduleLocation>

(即没有耗时节点)

使用 D6 XML 数据绑定(bind)向导我得到:

function TXMLScheduleLocation.Get_PassingTime: Boolean;
begin
Result := ChildNodes['passingTime'].NodeValue;
end;

当然,如果我尝试获取传递时间值,那么它会在 XML 中未指定传递时间的地方崩溃。有什么办法解决这个问题 - 向导的一些技巧吗?另外,我认为默认值被忽略了。我是否需要手动编辑结果?

顺便说一句,xsd.exe 会生成 xxxSpecified 字段,这对这里有帮助。

最佳答案

据我所知,XML 数据绑定(bind)向导不考虑默认值,您必须手动对它们进行编码:

function TXMLScheduleLocation.Get_PassingTime: Boolean;
begin
if ChildNodes['passingTime'].NodeValue = null then
Result := false
else
Result := ChildNodes['passingTime'].NodeValue;
end;

关于xml - Delphi XML 绑定(bind)向导和可选元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com