以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 WORD to XML, HTML to XML 』 (http://bbs.xml.org.cn/list.asp?boardid=13) ---- 如何在xml文档中读取数据并且在word中显示? (http://bbs.xml.org.cn/dispbbs.asp?boardid=13&rootid=&id=22288) |
-- 作者:daman999 -- 发布时间:9/17/2005 11:04:00 AM -- 如何在xml文档中读取数据并且在word中显示? 我现在在做opencrx的crm系统开发,其中有一个功能就是要输出word文档。在opencrx1.5.0版本中,可以将“联系人“的自身属性”称谓,名称“与其相关属性”地址,号码“等输出到一个xml文档中,然后在转换成word文档。word文档模板中已经有了函数来调用xml文档中的数据。但是只能输出其自身属性。 xml文档如下: ” <?xml version="1.0" encoding="UTF-8" ?> <?StartPath org::opencrx::kernel::account1/provider/CRX/segment/Standard/account/33a18130-2681-11da-a265-4340e42a74c3?> - <org.openmdx.base.Authority name="org:opencrx:kernel:account1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xri:+resource/org/opencrx/kernel/account1/xmi/account1.xsd"> <_object /> - <_content> - <provider> - <org.openmdx.base.Provider qualifiedName="CRX" _operation="null"> <_object /> - <_content> - <segment> - <org.opencrx.kernel.account1.Segment qualifiedName="Standard" _operation="null"> <_object /> - <_content> - <account> - <org.opencrx.kernel.account1.Contact id="33a18130-2681-11da-a265-4340e42a74c3"> - <_object> <education>0</education> - <!-- @see CodeValueContainer name="education" --> <firstName>999</firstName> <middleName>999</middleName> <accessLevelUpdate>2</accessLevelUpdate> - <!-- @see CodeValueContainer name="accessLevel" --> <gender>0</gender> - <!-- @see CodeValueContainer name="gender" --> <owningUser>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/admin</owningUser> <annualIncomeCurrency>0</annualIncomeCurrency> - <!-- @see CodeValueContainer name="currency" --> - <owner> <_item>Standard:admin</_item> <_item>Standard:Administrators</_item> </owner> <disabled>false</disabled> <salutationCode>8</salutationCode> - <!-- @see CodeValueContainer name="salutationCode" --> <accountRating>0</accountRating> - <!-- @see CodeValueContainer name="accountRating" --> <preferredSpokenLanguage>75</preferredSpokenLanguage> - <!-- @see CodeValueContainer name="language" --> <annualIncomeAmount>0.000000000</annualIncomeAmount> <numberOfChildren>0</numberOfChildren> <accessLevelBrowse>3</accessLevelBrowse> - <!-- @see CodeValueContainer name="accessLevel" --> <fullName>999, 999 999</fullName> <accessLevelDelete>2</accessLevelDelete> - <!-- @see CodeValueContainer name="accessLevel" --> - <modifiedBy> <_item>admin-Standard</_item> </modifiedBy> <identity>xri:@openmdx:org.opencrx.kernel.account1/provider/CRX/segment/Standard/account/33a18130-2681-11da-a265-4340e42a74c3</identity> <accountType>0</accountType> - <!-- @see CodeValueContainer name="accountType" --> <createdAt>2005-09-16T07:12:37.969Z</createdAt> <doNotPhone>false</doNotPhone> <doNotBulkPostalMail>false</doNotBulkPostalMail> <doNotEMail>false</doNotEMail> - <owningGroup> <_item>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/Administrators</_item> </owningGroup> <preferredWrittenLanguage>75</preferredWrittenLanguage> - <!-- @see CodeValueContainer name="language" --> - <createdBy> <_item>admin-Standard</_item> </createdBy> <accountState>0</accountState> - <!-- @see CodeValueContainer name="accountState" --> <familyStatus>0</familyStatus> - <!-- @see CodeValueContainer name="familyStatus" --> <lastName>999</lastName> <preferredContactMethod>0</preferredContactMethod> - <!-- @see CodeValueContainer name="contactMethod" --> <doNotPostalMail>false</doNotPostalMail> <doNotFax>false</doNotFax> <modifiedAt>2005-09-16T07:33:56.467Z</modifiedAt> </_object> - <_content> - <address> - <org.opencrx.kernel.account1.PhoneNumber id="31347170-2684-11da-8586-87c3e1604b49"> - <_object> <phoneCountryPrefix>0</phoneCountryPrefix> - <!-- @see CodeValueContainer name="phoneCountryPrefix" --> <automaticParsing>false</automaticParsing> <accessLevelUpdate>2</accessLevelUpdate> - <!-- @see CodeValueContainer name="accessLevel" --> <owningUser>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/admin</owningUser> - <owner> <_item>Standard:admin</_item> <_item>Standard:Administrators</_item> </owner> <disabled>false</disabled> <accessLevelBrowse>3</accessLevelBrowse> - <!-- @see CodeValueContainer name="accessLevel" --> <accessLevelDelete>2</accessLevelDelete> - <!-- @see CodeValueContainer name="accessLevel" --> - <modifiedBy> <_item>admin-Standard</_item> </modifiedBy> <identity>xri:@openmdx:org.opencrx.kernel.account1/provider/CRX/segment/Standard/account/33a18130-2681-11da-a265-4340e42a74c3/address/31347170-2684-11da-8586-87c3e1604b49</identity> <createdAt>2005-09-16T07:33:56.467Z</createdAt> <phoneNumberFull>010-62779079</phoneNumberFull> <isMain>false</isMain> - <owningGroup> <_item>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/Administrators</_item> </owningGroup> - <createdBy> <_item>admin-Standard</_item> </createdBy> <modifiedAt>2005-09-16T07:33:56.467Z</modifiedAt> </_object> - <_content> - <audit> - <org.opencrx.kernel.base.ObjectCreationAuditEntry id="3d3c6e00-2684-11da-8586-87c3e1604b49"> - <_object> <owningUser>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/admin</owningUser> - <modifiedBy> <_item>admin-Standard</_item> </modifiedBy> <identity>xri:@openmdx:org.opencrx.kernel.account1/provider/CRX/segment/Standard/account/33a18130-2681-11da-a265-4340e42a74c3/address/31347170-2684-11da-8586-87c3e1604b49/audit/3d3c6e00-2684-11da-8586-87c3e1604b49</identity> - <owner> <_item>Standard:admin</_item> <_item>Standard:Administrators</_item> </owner> - <owningGroup> <_item>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/Administrators</_item> </owningGroup> - <createdBy> <_item>admin-Standard</_item> </createdBy> <createdAt>2005-09-16T07:33:56.467Z</createdAt> <auditee>xri:@openmdx:org.opencrx.kernel.account1/provider/CRX/segment/Standard/account/33a18130-2681-11da-a265-4340e42a74c3/address/31347170-2684-11da-8586-87c3e1604b49</auditee> <accessLevelBrowse>3</accessLevelBrowse> - <!-- @see CodeValueContainer name="accessLevel" --> <unitOfWork>eeb5e477-2683-11da-8586-87c3e1604b49</unitOfWork> <accessLevelUpdate>0</accessLevelUpdate> - <!-- @see CodeValueContainer name="accessLevel" --> <accessLevelDelete>0</accessLevelDelete> - <!-- @see CodeValueContainer name="accessLevel" --> <modifiedAt>2005-09-16T07:33:56.467Z</modifiedAt> </_object> <_content /> </org.opencrx.kernel.base.ObjectCreationAuditEntry> </audit> </_content> </org.opencrx.kernel.account1.PhoneNumber> </address> - <audit> - <org.opencrx.kernel.base.ObjectCreationAuditEntry id="fd6b7bd7-2680-11da-a265-4340e42a74c3"> - <_object> <owningUser>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/admin</owningUser> - <modifiedBy> <_item>admin-Standard</_item> </modifiedBy> <identity>xri:@openmdx:org.opencrx.kernel.account1/provider/CRX/segment/Standard/account/33a18130-2681-11da-a265-4340e42a74c3/audit/fd6b7bd7-2680-11da-a265-4340e42a74c3</identity> - <owner> <_item>Standard:admin</_item> <_item>Standard:Administrators</_item> </owner> - <owningGroup> <_item>xri:@openmdx:org.opencrx.security.identity1/provider/CRX/segment/Standard/subject/Administrators</_item> </owningGroup> - <createdBy> <_item>admin-Standard</_item> </createdBy> <createdAt>2005-09-16T07:12:37.969Z</createdAt> <auditee>xri:@openmdx:org.opencrx.kernel.account1/provider/CRX/segment/Standard/account/33a18130-2681-11da-a265-4340e42a74c3</auditee> <accessLevelBrowse>3</accessLevelBrowse> - <!-- @see CodeValueContainer name="accessLevel" --> <unitOfWork>7cfa0da6-2680-11da-a265-4340e42a74c3</unitOfWork> <accessLevelUpdate>0</accessLevelUpdate> - <!-- @see CodeValueContainer name="accessLevel" --> <accessLevelDelete>0</accessLevelDelete> - <!-- @see CodeValueContainer name="accessLevel" --> <modifiedAt>2005-09-16T07:12:37.969Z</modifiedAt> </_object> <_content /> </org.opencrx.kernel.base.ObjectCreationAuditEntry> </audit> </_content> </org.opencrx.kernel.account1.Contact> </account> </_content> </org.opencrx.kernel.account1.Segment> </segment> </_content> </org.openmdx.base.Provider> </provider> </_content> </org.openmdx.base.Authority> “ 在word中的VBA代码函数为 ” Call ReplaceField("salutationCode$ShortText", getCodeValueText(xmlclean, "salutationCode", Val(getTagValue(contact, "salutationCode")), localeIdx, False), False) Call ReplaceField("lastName", getTagValue(contact, "lastName"), False) 'primary mailing address ReDim usagefilter(0, 1) usagefilter(0, 0) = "usage" usagefilter(0, 1) = "300" 'primary mailingAddress = getObjList(getContent(xmlclean, "org.opencrx.kernel.account1.Contact"), "address", usagefilter, "postalStreet") Call ReplaceField("postalAddressLine", getTagMultiValueAsString(getTagValue(mailingAddress(0), "postalAddressLine"), itemTag), False) Call ReplaceField("postalStreet", getTagMultiValueAsString(getTagValue(mailingAddress(0), "postalStreet"), itemTag), False) Call ReplaceField("postalCity", getTagValue(mailingAddress(0), "postalCity"), False) Call ReplaceField("postalState", getTagValue(mailingAddress(0), "postalState"), False) Call ReplaceField("postalCode", getTagValue(mailingAddress(0), "postalCode"), False) Call ReplaceField("postalCountry$ShortText", getCodeValueText(xmlclean, "country", Val(getTagValue(mailingAddress(0), "postalCountry")), localeIdx, False), False) ReDim usagefilter(0, 1) usagefilter(0, 0) = "usage" usagefilter(0, 1) = "300" 'primary phoneNumber = getObjList(getContent(xmlclean, "org.opencrx.kernel.account1.Contact"), "address", usagefilter, "phoneNumberFull") Call ReplaceField("primaryPhone", getTagValue(phoneNumber(0), "phoneNumberFull"), False) “ 我想请大家看看该怎么调试? |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
61.523ms |