Hướng dẫn convert xml to html c# - chuyển xml sang html C#

XSLT Newbie Câu hỏi: Vui lòng điền vào trống trong đoạn mã C# bên dưới:

public static string TransformXMLToHTML[string inputXml, string xsltString] {
  // insert code here to apply the transform specified by xsltString to inputXml 
  // and return the resultant HTML string.
  // You may assume that the xslt output type is HTML.
}

Thanks!

Đã hỏi ngày 22 tháng 11 năm 2009 lúc 9:48Nov 22, 2009 at 9:48

Shaul Behrshaul BehrShaul Behr

35,9K69 Huy hiệu vàng248 Huy hiệu bạc377 Huy hiệu đồng69 gold badges248 silver badges377 bronze badges

0

Bạn nghĩ thế nào về:

public static string TransformXMLToHTML[string inputXml, string xsltString]
{
    XslCompiledTransform transform = new XslCompiledTransform[];
    using[XmlReader reader = XmlReader.Create[new StringReader[xsltString]]] {
        transform.Load[reader];
    }
    StringWriter results = new StringWriter[];
    using[XmlReader reader = XmlReader.Create[new StringReader[inputXml]]] {
        transform.Transform[reader, null, results];
    }
    return results.ToString[];
}

Lưu ý rằng lý tưởng nhất là bạn sẽ lưu trữ và sử dụng lại XslCompiledTransform - hoặc có thể sử dụng

public static string TransformXMLToHTML[string inputXml, string xsltString]
{
    XslCompiledTransform transform = new XslCompiledTransform[];
    using[XmlReader reader = XmlReader.Create[new StringReader[xsltString]]] {
        transform.Load[reader];
    }
    StringWriter results = new StringWriter[];
    using[XmlReader reader = XmlReader.Create[new StringReader[inputXml]]] {
        transform.Transform[reader, null, results];
    }
    return results.ToString[];
}
0 thay thế [mặc dù nó được đánh dấu là không dùng nữa].

Đã trả lời ngày 22 tháng 11 năm 2009 lúc 9:59Nov 22, 2009 at 9:59

Marc Gravellmarc GravellMarc Gravell

997K258 Huy hiệu vàng2515 Huy hiệu bạc2860 Huy hiệu Đồng258 gold badges2515 silver badges2860 bronze badges

3

Chỉ để giải trí, một phiên bản ít thanh lịch hơn một chút thực hiện bộ nhớ đệm được đề xuất bởi Marc:

    public static string TransformXMLToHTML[string inputXml, string xsltString]
    {
        XslCompiledTransform transform = GetAndCacheTransform[xsltString];
        StringWriter results = new StringWriter[];
        using [XmlReader reader = XmlReader.Create[new StringReader[inputXml]]]
        {
            transform.Transform[reader, null, results];
        }
        return results.ToString[];
    }

    private static Dictionary cachedTransforms = new Dictionary[];
    private static XslCompiledTransform GetAndCacheTransform[String xslt]
    {
        XslCompiledTransform transform;
        if [!cachedTransforms.TryGetValue[xslt, out transform]]
        {
            transform = new XslCompiledTransform[];
            using [XmlReader reader = XmlReader.Create[new StringReader[xslt]]]
            {
                transform.Load[reader];
            }
            cachedTransforms.Add[xslt, transform];
        }
        return transform;
    }

Đã trả lời ngày 22 tháng 11 năm 2009 lúc 10:13Nov 22, 2009 at 10:13

2

Giới thiệu

Bạn có một tài liệu XML và bạn cần chuyển đổi nó thành định dạng tệp dễ đọc hơn. Ví dụ: bạn có dữ liệu nhân sự được lưu trữ dưới dạng tài liệu XML và bạn cần hiển thị nó trên trang web hoặc trong tệp văn bản.

Dung dịch

Giải pháp cho điều này là sử dụng bảng kiểu XSLT để chuyển đổi XML thành một định dạng khác bằng lớp

public static string TransformXMLToHTML[string inputXml, string xsltString]
{
    XslCompiledTransform transform = new XslCompiledTransform[];
    using[XmlReader reader = XmlReader.Create[new StringReader[xsltString]]] {
        transform.Load[reader];
    }
    StringWriter results = new StringWriter[];
    using[XmlReader reader = XmlReader.Create[new StringReader[inputXml]]] {
        transform.Transform[reader, null, results];
    }
    return results.ToString[];
}
0. Trong mã ví dụ, chúng tôi đang chuyển đổi một số dữ liệu nhân sự từ một doanh nghiệp hư cấu được lưu trữ trong PLANNELENT.XML. Đầu tiên, chúng tôi tải bảng kiểu để tạo đầu ra HTML. Sau đó, chúng tôi thực hiện chuyển đổi thành HTML thông qua XSLT bằng cách sử dụng bảng kiểu PersonalHTML.xSL. Sau đó, chúng tôi chuyển đổi dữ liệu thành định dạng phân loại bằng dấu phẩy bằng cách sử dụng bảng kiểu PersonalCsv.xsl:

public static void TransformXML[ ]
{
      
      XmlUrlResolver resolver = new XmlUrlResolver[ ];
      resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
      
      XslTransform transform = new XslTransform[ ];
      
      transform.Load[@"..\PersonnelHTML.xsl",resolver];
      
      transform.Transform[@"..\Personnel.xml",@"..\Personnel.html",resolver];
      
      
      transform.Load[@"..\PersonnelCSV.xsl",resolver];
      
      transform.Transform[@"..\Personnel.xml", @"..\Personnel.csv",resolver];
}

Tệp nhân sự.xml chứa các mục sau:

="1.0"="utf-8"

     
     
     
     
 

Biểu đồ personnelHTML.xSL trông như thế này:

="1.0"="UTF-8"




  
     
     
     
     
          
          
          
                    Employee Name
                    Employee Title
                    Years with Company
          
       
       
       
           
           
              
              
              
         
         
              
              
              
        
        
              
              
              
        
        
        
      
      
      






 

Đây là nguồn HTML:






     
      
     
      
          Employee Name
          Employee Title 
          Years with Company
      
      
     
      
          Shahab
          Customer Service 
          1
      
      
          Noosha
          Manager 
          12
     
      
          Navid
          Salesman 
          3
     
     
         Mehrdad
         CEO 
         27
    
     
    
    

Đầu ra phân loại dấu phẩy được tạo bằng cách sử dụng personnelCSV.xsl và personal.xml; Biểu đồ được hiển thị ở đây:

="1.0"="UTF-8"







,

,


 




Đầu ra từ bảng kiểu PersonalCsv.xsl được hiển thị ở đây:

Shahab,Customer Service,1 
Noosha,Manager,12 
Navid,Salesman,3 
Mehrdad,CEO,27

Lịch sử

  • Ngày 22 tháng 10 năm 2005: Bài viết ban đầu

Tôi không sử dụng Microsoft.net và Crystal Report nữa. Tôi đã chuyển từ khoa học máy tính sang khoa học vũ trụ vào năm 2008. Hiện tại tôi là nhà nghiên cứu về vật lý plasma không gian ở Thụy Điển. Tôi xin lỗi nếu tôi không thể trả lời email/tin nhắn của bạn nữa. Điều này là do tôi không sử dụng Windows và bất kỳ sản phẩm nào của Microsoft.
I moved from computer science to space science in 2008. Currently I'm a researcher in space plasma physics in Sweden. I apologize if I cannot reply your emails/messages anymore. This is because I am not using Windows and any of the Microsoft products.

Làm thế nào để chuyển đổi tệp XML thành HTML trong C#?

Các bước để chuyển đổi XML thành HTML qua C#..
Tải tệp XML với lớp dự án ..
Gọi phương thức dự án.Save ..
Vượt qua đường dẫn tệp đầu ra & SaveFileFormat.xml làm tham số ..

Làm thế nào chuyển đổi tài liệu XML thành tài liệu HTML giải thích với ví dụ?

Cách tiêu chuẩn để chuyển đổi dữ liệu XML thành các định dạng khác là bằng các phép biến đổi ngôn ngữ kiểu kiểu mở rộng [XSLT].Bạn có thể sử dụng chức năng XSLTransform tích hợp để chuyển đổi các tài liệu XML thành HTML, văn bản thuần túy hoặc các lược đồ XML khác nhau.XSLT sử dụng các kiểu dáng để chuyển đổi XML thành các định dạng dữ liệu khác.use the built-in XSLTRANSFORM function to convert XML documents into HTML, plain text, or different XML schemas. XSLT uses stylesheets to convert XML into other data formats.

XML có thể sử dụng với C#không?

XML là ngôn ngữ đánh dấu có thể mở rộng được sử dụng để vận chuyển dữ liệu qua Internet để hiển thị hoặc xử lý khác.Nó cung cấp một định dạng tiêu chuẩn để dữ liệu cũng có thể được xác thực.C#, giống như các ngôn ngữ khác, chứa các lớp để đọc và xác nhận các tài liệu XML.C#, like other languages, contains classes to read and validate XML documents.

Bài Viết Liên Quan

Chủ Đề