Embed绑定XML与txt文本文件

使用Embed标签可以将图片绑定到swf中并显示,那么我们如何将XML或者文本文件也同样绑定到swf中显示或使用呢?同样也是使用Embed标签,经过查阅官方文档 ,发现有个mimeType属性,该属性配置如下:

  • application/octet-stream

  • application/x-font

  • application/x-font-truetype

  • application/x-shockwave-flash

  • audio/mpeg

  • image/gif

  • image/jpeg

  • image/png

  • image/svg

  • image/svg-xml

也就是说,可以将绑定的内容转换成“二进制数据”。

 

 

  1. <fx:Script>  
  2.         <!--[CDATA[  
  3.               
  4.             [Embed(source="/assets/sample.txt", mimeType="application/octet-stream")]  
  5.             public var txtCls:Class;  
  6.               
  7.             [Embed(source="/assets/sample.xml", mimeType="application/octet-stream")]  
  8.             public var xmlCls:Class;  
  9.               
  10.             /** 
  11.              * init 
  12.              *  
  13.              * @return void 
  14.              * **/  
  15.             private function init():void  
  16.             {  
  17.                 //文本文件  
  18.                 var byteDataTxt:ByteArray = new txtCls();  
  19.                 var str:String = byteDataTxt.readUTFBytes(byteDataTxt.bytesAvailable);  
  20.                 trace(str);  
  21.                   
  22.                 //XML  
  23.                 var byteDataXml:ByteArray = new xmlCls();  
  24.                 var xml:XML    = XML(byteDataXml.readUTFBytes(byteDataXml.bytesAvailable));  
  25.                 trace(xml.toXMLString());  
  26.             }  
  27.         ]]-->  
  28.     </fx:Script>  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`embed_txtfiles` 是一个自定义 CMake 函数,用于将多个文本文件嵌入到可执行文件中,以便在运行时读取这些文件内容。下面是一个示例函数的实现: ```cmake function(embed_txtfiles target_name) set(output_file "${CMAKE_CURRENT_BINARY_DIR}/${target_name}_embedded_files.c") set(files_var_name "${target_name}_EMBEDDED_FILES") set(var_name "${target_name}_EMBEDDED_FILES_DATA") # Collect the file contents and embed them as char arrays set(srcs "") set(${var_name} "") foreach(file ${ARGN}) file(READ ${file} contents) string(REPLACE "\"" "\\\"" contents "${contents}") string(REPLACE "\n" "\\n\"\n\"" contents "${contents}") list(APPEND srcs "${CMAKE_CURRENT_BINARY_DIR}/temp/${file}.c") set(${var_name} "${${var_name}}static const char ${file}_data[] = \"${contents}\";\n") set(${var_name} "${${var_name}}static const size_t ${file}_size = ${CMAKE_CURRENT_BINARY_DIR}/temp/${file}_size;\n") endforeach() # Generate the C code that will be compiled into the executable file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/temp") file(WRITE ${output_file} "${${var_name}}\n") foreach(file ${ARGN}) file(SIZE ${file} size) set(size_var "${CMAKE_CURRENT_BINARY_DIR}/temp/${file}_size") file(WRITE ${size_var} "${size}") file(APPEND ${output_file} "extern const char ${file}_data[];\n") file(APPEND ${output_file} "extern const size_t ${file}_size;\n") endforeach() file(APPEND ${output_file} "\nvoid ${target_name}_init() {\n") foreach(file ${ARGN}) file(APPEND ${output_file} " resource_manager_add_resource(\"${file}\", ${file}_data, ${file}_size);\n") endforeach() file(APPEND ${output_file} "}\n") # Compile the generated C code into a library that can be linked into the target add_library(${files_var_name} STATIC ${srcs}) target_compile_definitions(${files_var_name} PRIVATE ${var_name}=${var_name}) target_include_directories(${files_var_name} PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/temp") # Add a custom command to generate the C code and compile it before building the target add_custom_command( OUTPUT ${srcs} COMMAND ${CMAKE_COMMAND} -E copy ${ARGN} "${CMAKE_CURRENT_BINARY_DIR}/temp" COMMAND ${CMAKE_COMMAND} -E touch ${output_file} DEPENDS ${ARGN} COMMENT "Embedding TXT files in ${target_name}" ) # Add the custom command as a dependency of the target add_dependencies(${target_name} ${files_var_name}) # Link the embedded files library into the target target_link_libraries(${target_name} ${files_var_name}) endfunction() ``` 使用此函数的示例: ```cmake add_executable(myapp main.c) embed_txtfiles(myapp data/file1.txt data/file2.txt) ``` 在这个示例中,`embed_txtfiles` 函数将 `data/file1.txt` 和 `data/file2.txt` 嵌入到 `myapp` 可执行文件中。在运行时,可以使用 `resource_manager_get_resource("data/file1.txt")` 和 `resource_manager_get_resource("data/file2.txt")` 来获取这两个文件的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值