Преобразование HTML в Word DOC со всем форматированием

0

Я должен прочитать следующий html из этого XML файла в С#.

<?xml version="1.0" encoding="utf-8"?>
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:TestCRForm:-myXSD-2013-01-09T15-23-27" solutionVersion="1.0.0.285" productVersion="14.0.0.0" PIVersion="1.0.0.0" href="http://win-rskupn6mf2b:2331/TestCRForm/Forms/template.xsn"?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.3"?>
<my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:ma="http://schemas.microsoft.com/office/2009/metadata/properties/metaAttributes" xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields" xmlns:q="http://schemas.microsoft.com/office/infopath/2009/WSSList/queryFields" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:tns="http://microsoft.com/webservices/SharePointPortalServer/UserProfileService" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2013-01-09T15:23:27" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-US">
    <my:VendorName>Vendor Name1</my:VendorName>
    <my:Assignedto>Asigner</my:Assignedto>
    <my:SOWNumber></my:SOWNumber>
    <my:DraftStarted xsi:nil="true"></my:DraftStarted>
    <my:DateComplete xsi:nil="true"></my:DateComplete>
    <my:GLCode>Material No1</my:GLCode>
    <my:LogID>2013-09-05T22:44:09</my:LogID>
    <my:Status>New</my:Status>
    <my:ProjectDescription>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve"><div><em>This is Project Deliverable Info</em></div><div><span id="ms-rterangepaste-start"></span><span id="ms-rterangepaste-end"></span><div><em>Whjoa</em></div><div><strong><em>Dude</em></strong></div></div></html>
  </my:ProjectDescription>

</my:myFields>

После прочтения html в теге "my: ProjectDescription" я должен поместить его в текстовый документ со всем сохраненным форматированием.

Этот html извлекается следующим образом:

XmlNodeList nodelist3 = xml.SelectNodes("my:myFields/my:ProjectDeliverables", nsm);
                foreach (XmlNode node in nodelist3)
                    tc.key_deliverables = node.InnerXml;

tc.key_deliverables затем содержит html как строку.

Пожалуйста, предложите мне, как это сделать.

Теги:
infopath2010

1 ответ

0

Если вы можете получить доступ к Word COM или использовать VSTO, вы можете просто открыть html файл с помощью Word (или вывести содержимое html в новый документ), а затем сохранить как docs/docx с использованием объектной модели Word.

Другие способы:

  • 0
    Они работают, если мне нужно только получить текст из HTML. тогда как в моем случае документ уже создан, и я должен добавить форматированный текст, извлеченный из HTML, в существующий документ.
  • 0
    Все это хорошо работает с форматированием. Изображения могут вызывать проблемы, но не с помощью первого метода - Word открывает HTML-контент с изображениями правильно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню