2012-12-17 2 views
1

Lotus Notes 데이터베이스의 내용을 SharePoint로 마이그레이션하려고합니다. 전체 데이터베이스가 XML 파일로 내보내집니다 (이 요구 사항은 변경할 수 없음). 이러한 XML 파일을 구문 분석하고 SharePoint에 데이터를 삽입해야합니다.Lotus Notes XML 서식있는 텍스트 요소에서 텍스트 추출

무슨 일이 벌어 지는지는 서식있는 텍스트가 포함 된 요소입니다. XML 요소에는 DXL을 사용하여 Lotus Notes의 필드에서 사용 된 정확한 리치 텍스트 형식의 XML 표현이 포함되어 있습니다. http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=%2Fcom.ibm.designer.domino.main.doc%2FH_PARAGRAPH_DEFINITIONS_ELEMENT_XML.html

텍스트의 실제 서식을 유지할 필요가 없습니다. 평범한 텍스트 검색),하지만 단순히 LinqToXML 사용하여 서식있는 텍스트를 포함하는 XML 요소의 값을 추출 할 경우 나는 받아 들일 수없는 linebreaks 않고 일반 텍스트를 가져옵니다. 또한 포함 된 이미지는 검색된 텍스트에 base64 인코딩 된 문자열로 표시됩니다 (XML에 포함됨).

누구나 XML 요소에서 텍스트를 추출하는 방법에 대한 안내를 RTF 파일에 삽입 할 수있는 적절한 RTF 형식이나 올바른 줄 바꿈을 포함하는 일반 텍스트로 제공 할 수 있습니까? 삽입 된 이미지?

답변

0

난 그냥 다음과 같은 식으로 정규식을 사용하여 모든 XML 태그와 원치 않는 포함 된 요소의 서식있는 텍스트 XML 요소를 제거 (지금)이 있습니다

 //Removes all attachmentref elements 
     newString = new Regex(@"(<attachmentref(.|\n)*</attachmentref>)").Replace(newString, ""); 
     //Removes all formula elements 
     newString = new Regex(@"(<formula(.|\n)*</formula>)").Replace(newString, ""); 
     //Removes all xml tags (<par>, <pardef>, <table> etc). Be aware that this also removes any content in the table 
     newString = new Regex("<(.)*/>").Replace(newString, ""); 
     newString = new Regex("<(.)*>").Replace(newString, ""); 
     newString = new Regex("</(.)*>").Replace(newString, ""); 

     //Trims the text to tidy up the many \n, \r and white-spaces introduced by removing the xml tags. 
     newString = new Regex(@"\r").Replace(newString, "\n"); 
     newString = new Regex(@"[ \f\r\t\v]+\n").Replace(newString, "\n"); 
     newString = new Regex(@"\n{2,}").Replace(newString, "\n"); 

     //makes <and> appear correctly in the text. 
     newString = newString.Replace("&lt;", "<").Replace("&gt;", ">"); 

아니고 꽤 , 적어도 텍스트는 읽을 수 있으며 일부 줄 바꿈은 그대로 유지됩니다.

0

서식있는 텍스트 항목의 내용을 서식있는 텍스트 항목에 대해 지원되는 다른 형식 인 HTML/MIME으로 변환 할 수 있습니다.

또는 HTTP URL에 서식있는 텍스트 콘텐츠를 표시하고 내보내기 XML의 내용을 참조하는 XPage 또는 양식을 만들 수 있습니다.

  • 의 Panu
+0

제안 해 주셔서 감사합니다. 안타깝게도 XML 내보내기가 생성되는 방식이나 XML 형식이 사용되는 방식을 제어 할 수 없습니다. – michn

1

분명히 다루는 XML은 DXL입니다. 좀 더 우아한 방법은 XSL 변환을 사용하여 HTML로 변환하는 것입니다. PD4ML tool과 함께 제공되는 필수 XSLT 스타일 시트. HTML 형식에서 문서를 PDF, RTF 또는 PD4ML 이미지 (또는 다른 도구를 사용하여 다른 형식으로 변환 가능)

+0

@zfr을 (를) 선택하는 것이 좋지만 Notes가 잘못 번역 한 글 머리 기호 및 기타 서식을 주시해야합니다. – Ewen

관련 문제